介绍

Docker是一个虚拟环境容器,可以将开发环境、代码、配置文件等一并打包到容器中,并发布和应用到任意平台中。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低

优点

  • 快速、一致的交付程序,都在标准化环境工作,简化了开发周期
  • 响应式部署和扩展,是基于容器的平台,可以在多个平台运行
  • 在同一硬件上运行更多工作负载

Docker架构

  • 镜像(image)

    • 类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板,用来提供程序的运行环境
  • 容器(container)

    • 类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境,以及运行在其中的应用程序
    • 容器是镜像创建的应用实例,可以创建、启动、停止、删除容器
    • 各个容器之间是是相互隔离的,互不影响
    • 镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变
  • 仓库(repository)

    • 类似于代码仓库,是Docker用来集中存放镜像文件的地方
    • 与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库,而仓库是存放镜像的地方,每个仓库可以包含多个标签,每个标签对应一个镜像

Docker命令

基本命令

docker    # 查看Docker客户端的所有命令选项
docker version
docker info    # Docker系统信息
docker command --help    # 查看某个命令的具体使用方法

镜像命令

1.docker images 查看当前系统中的images信息

docker images [options]
# options
    -a, --all    # 显示所有的镜像
    -q, --quiet    # 只显示 id

2.docker search 搜索镜像是否存在

docker search [image]

3.docker pull 下载镜像

docker pull [options] name[:tag|@digest]
# options
    --all-tags,a    # 下载仓库所有镜像
    --disable-content-trust    # 跳过镜像校验
    --platform    # 设置镜像所属平台, 如果有多个镜像服务
# tag
    每个仓库有多个镜像,用tag标识,不加默认为latest镜像
# @digest
    内容可寻址标识符,只和镜像的内容有关系,镜像内容不变digest也不会变
    用于更精确的指定唯一镜像,并防止镜像被篡改

4.docker commit 从容器创建一个新的镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
# options
    -a    # 镜像作者
    -c    # 使用Dockerfile指令来创建镜像
    -m    # 说明信息
    -p    # 在commit时,容器会暂停
# container
    容器id

容器命令

1.docker run 新建容器并启动

docker run [options] image
# options
    --name=""    # 容器名称
    -d    # 后台运行容器,并返回容器ID
    -i    # 以交互模式运行容器,通常与-t同时使用
    -t    # 为容器重新分配一个伪输入终端,通常与-i同时使用
    -P    # 随机端口映射,容器内部端口随机映射到主机的端口
    -p    # 指定端口映射,格式为:主机(宿主)端口:容器端口
    -e    # 设置环境变量,格式为:username="ritchie" 为例

2.docker start/stop/restart 启动/停止/重启命令

docker start container
docker stop container
docker restart container

3.docker ps 查看容器

docker ps [options]
# options
    -a    # 显示所有容器,包括未运行的
    -f    # 根据条件过滤显示内容
    -q    # 只显示容器编号

4.docker attach/exec 进入容器

使用 docker attach 命令之后从容器退出会导致容器停止,使用docker exec 命令之后退出不会导致容器停止

docker attach
docker exec

5.docker import/export 导入容器快照/导出容器

最后修改:2023 年 06 月 05 日
如果觉得我的文章对你有用,请随意赞赏