首页 > 其他分享 >Docker学习笔记(一)快速开始

Docker学习笔记(一)快速开始

时间:2024-04-05 16:31:36浏览次数:13  
标签:容器 compose image 笔记 学习 镜像 Docker docker

Docker

官方文档 Docker overview | Docker Docs

中文文档 Docker -- 从入门到实践 (docker-practice.github.io)

Docker是一个开源平台,用于开发、部署和运行应用程序。它采用容器化技术,允许开发者将应用程序及所有依赖项打包进一个独立可移植的容器中。这些容器可以在任何支持Docker的环境中运行,无论是个人计算机还是云端服务器。采用Docker技术部署应用程序,可以显著缩短代码开发到项目部署之间的延迟。

基本概念

container

container(容器)是代码的隔离环境,不受宿主系统环境影响,其中包含了应用程序的代码、运行时环境、系统工具、系统库以及相关设置。应用程序的所有依赖项都被打包到一起,使得容器可以独立地运行。

image

image(镜像)是一个只读文件,其中包含了用于创建container的文件系统内容。image一旦创建不可被修改,只能在现有的image基础上创建一个新image,并在其中应用所需的修改。image由层组成,每一层表示一组系统文件修改,用于添加、删除或者修改文件。

registry

registry是一个集中存储、分发docker image的服务器,用于管理image的存储和检索。通俗地讲,registry是一个docker image 的仓库。使用 docker pull 命令可以从Registry中拉取镜像到本地,通过 docker push 命令可以将本地 docker image 推送到Registry中。

Docker Compose

当想要使用容器实现复杂的事情时,可能会用到数据库、消息队列或者其他各种服务。如果把它们都打包到一个容器中,维护起来会十分复杂,更好的做法是使用多个容器,每一个容器只做一件事情。但是使用docker run 来运行多个容器,又会变得难以管理,这个时候就需要借助docker compose工具。docker compose 是一个定义和运行多个docker容器应用的工具。它使用yaml文件来配置容器的服务、网络和卷,当配置发生改变时只需再次执行 docker compose up 命令就可以让docker compose协调这些改变并且应用它们。 通过docker compose,开发者可以轻松定义、启动、停止和销毁由多个容器构成的应用程序。

基本使用

安装

Ubuntu

可以使用以下命令卸载docker

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

官方脚本安装

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

验证是否安装成功

docker run --rm hello-world

如果没有找到本地镜像,docker会到registry中拉取所需镜像。

获取镜像

命令格式:

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

registry地址默认为docker hub(docker.io),标签默认为latest

示例:

docker pull ubuntu:18.04

运行镜像

docker run -it --rm ubuntu:18.04 bash

-it 是两个参数,-i 是指交互式操作,-t是指终端,bash是我们希望使用的交互式终端

--rm 指容器退出后将容器删除

输入exit 退出

exit

列出镜像

列出所有顶层镜像:

docker image ls

据仓库名列出镜像:

docker image ls ubuntu

列出指定镜像

docker image ls hello-world:lastest

格式化列出内容

docker image ls --format "{{.ID}}: {{.Repository}}: {{.Tag}}"

删除镜像

命令格式:

docker image rm [选项] <镜像1> [<镜像2> ...]

其中<镜像>可以是镜像ID、镜像名字或镜像摘要,一般通过镜像ID删除,镜像ID很长,但是可以取其某个长度的前缀,只要可以区别于其它镜像就行。

如删除hello-world:latest镜象:

docker image rm d2c

标签:容器,compose,image,笔记,学习,镜像,Docker,docker
From: https://blog.csdn.net/qq_46449962/article/details/137402820

相关文章

  • 基于深度学习的远距离停车位检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
    摘要:本文深入研究了基于YOLOv8/v7/v6/v5的远距离停车位检测系统,核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法,进行性能指标对比;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码,及基于Streamlit的交互式Web应用界面设计。在Web网页中可以支持图像、视频和实......
  • 基于深度学习的PCB板缺陷检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
    摘要:本文深入研究了基于YOLOv8/v7/v6/v5的PCB板缺陷检测系统,核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法,进行性能指标对比;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码,及基于Streamlit的交互式Web应用界面设计。在Web网页中可以支持图像、视频和实时摄......
  • 学习记录:bazel和cmake运行终端指令
    Bazel和CMake都是用于构建软件项目的工具,但它们之间有一些重要的区别和特点:Bazel:Bazel是由Google开发的构建和测试工具,用于构建大规模的软件项目。它采用一种称为“基于规则”的构建系统,它利用构建规则和依赖关系来自动化构建过程。Bazel支持多种编程语言,包括C++、Java、......
  • 基于深度学习的输电线路设备检测系统(网页版+YOLOv8_v7_v6_v5代码+训练数据集)
    摘要:本文深入研究了基于YOLOv8/v7/v6/v5的输电线路设备检测系统,核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法,进行性能指标对比;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码,及基于Streamlit的交互式Web应用界面设计。在Web网页中可以支持图像、视频和实......
  • 多年前的笔记-生产环境编译PHP5.6.21
    多年前的笔记-生产环境编译PHP5.6.21文章目录下载PHP解压php5.6.21编译参数开发反映无法加载验证码,后来同事编译添加了--with-freetype-dir参数确认编译成功配置PHP准备配置文件PHP服务启动PHP修改FPM配置文件php-fpm.conf下载PHPwget-chttp://ar2.php.net/dist......
  • 多年前的笔记-CenetOS6.7内核优化
    多年前的笔记-CenetOS6.7内核优化文章目录备份优化内核优化文件描述符数量Centos开机启动优化设置显示主机全名内核优化已完成备份[-f/etc/sysctl.conf]&&cp-av/etc/sysctl.conf{,_bak}优化内核cat>/etc/sysctl.conf<<EOFnet.ipv4.tcp_syn_retrie......
  • STM32学习(六)USART串口协议
    一、通信接口1.通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统。2.通信协议:制定通信的规则,通信双方按照协议规则进行数据收发。STMF103C8T6支持以下通信协议 如果需要蓝牙无线遥控功能,陀螺仪加速度计测量姿态的功能,STM32没有,只能通过外挂芯片完成,这时就需要将......
  • 基于深度学习的PCB电子元件识别系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
    摘要:本文深入研究了基于YOLOv8/v7/v6/v5的PCB电子元件识别系统,核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法,进行性能指标对比;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码,及基于Streamlit的交互式Web应用界面设计。在Web网页中可以支持图像、视频和实时......
  • 基于深度学习的人群密度检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
    摘要:本文深入研究了基于YOLOv8/v7/v6/v5的人群密度检测系统,核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法,进行性能指标对比;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码,及基于Streamlit的交互式Web应用界面设计。在Web网页中可以支持图像、视频和实时摄......
  • Docker-ORACLE11安装
    SID:helowin帐号秘密:system/manager1.镜像下载dockerpullregistry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g2.容器启动dockerrun-d--nameoracle11g-p1521:1521registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g\-v/home/bizuser/soft/oracle/data:/hom......