前言 链接到标题
Docker 是基于
Go语言实现的开源容器项目。它诞生于2013年年初,最初发起者是dotCloud公司。
Docker 大部分的操作都围绕着它的三大核心概念:镜像、容器和仓库。
Docker 镜像
Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。镜像是创建Docker容器的基础。Docker 容器
Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。 容器是从镜像创建的应用运行实例。它可以启动、开始、停止、删除,而这些容器都是彼此相互隔离、互不可见的。Docker 仓库
Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。
一,系统操作 链接到标题
1.1. 查看系统信息 链接到标题
语法
$ docker info [选项]实例
$ docker info
1.2. 登陆 链接到标题
语法
$ docker login [OPTIONS] [SERVER]选项
--password , -p 密码 --password-stdin 从标准输入密码 --username , -u 用户名实例
$ docker login
1.3. 登出 链接到标题
语法
$ docker logout [SERVER]实例
$ docker logout localhost:8080
二,使用 Docker 镜像 链接到标题
2.1. 获取镜像 链接到标题
$ docker [image] pullNAME[:TAG]
NAME 是镜像仓库名称(用来区分镜像), TAG 是镜像的标签(往往用来表示版本信息)。
# 获取一个 Nginx 1.19.3 镜像
$ docker pull nginx:1.19.3
# 下载一个最新版本 Nginx 镜像
$ docker pull nginx
对于 Docker 镜像来说,如果不显式指定 TAG,则默认会选择 latest 标签。latest标签意味着该镜像的内容会跟踪最新版本的变更而变化,内容是不稳定的。
2.2. 查看镜像信息 链接到标题
语法
$ docker images [选项] [REPOSITORY[:TAG]]选项
-a, --all=true|false:列出所有(包括临时文件)镜像文件,默认为否 --digests=true|false:列出镜像的数字摘要值,默认为否 -f, --filter=[]:过滤列出的镜像,如dangling=true只显示没有被使用的镜像;也可指定带有特定标注的镜像等 --format="TEMPLATE":控制输出格式,如.ID代表ID信息,.Repository代表仓库信息等 --no-trunc=true|false:对输出结果中太长的部分是否进行截断,如镜像的ID信息,默认为是 -q, --quiet=true|false:仅输出ID信息,默认为否。实例
# 显示所有镜像 $ docker images # 显示 node 镜像 $ docker images node # 显示 node 镜像数字摘要 docker images --digests node
2.3. 查看详细信息 链接到标题
使用 docker[image]inspect 命令可以获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要等。
语法
docker inspect [选项] NAME|ID [NAME|ID...]选项
--format , -f 使用给定的Go模板格式化输出 --size , -s 如果类型为容器,则显示文件总大小 --type 返回指定类型的JSON实例
# 查看 node 详情 $ docker inspect node # 输出格式 docker inspect --format='{{.Os}}' node
2.4. 查看镜像历史 链接到标题
可以使用 history 子命令,列出镜像各层的创建信息。
语法
$ docker history [OPTIONS] IMAGE实例
$ docker history node
2.5. 搜索镜像 链接到标题
语法
$ docker search [选项] node选项
-f, --filter filter:过滤输出内容 --format string:格式化输出内容 --limit int:限制输出结果个数,默认为25个 --no-trunc:不截断输出结果。实例
# 搜索 node $ docker serch node
2.6. 打标签 链接到标题
语法
$ docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]实例
# 为专用存储库标记镜像标签 $ docker tag 0e5574283393 localhost:5000/fedora/httpd:version1.0 # 标记名称和标记引用镜像 $ docker tag httpd:test fedora/httpd:version1.0.test
2.7. 推送镜像 链接到标题
语法
$ docker push [OPTIONS] NAME[:TAG]实例
$ docker push node:latest
二,操作 Docker 容器 链接到标题
2.1. 新建容器 链接到标题
语法
$ docker create [选项] IMAGE [COMMAND] [ARG...]实例
# 新建容器 $ docker create -it node:latest
2.2. 查看容器列表 链接到标题
语法
$ docker ps [OPTIONS]实例
# 查看容器 $ docker ps # 查看所有容器 $ docker ps -a
2.3. 运行容器 链接到标题
语法
$ docker start [选项] CONTAINER [CONTAINER...]实例
$ docker start 769bab71c758
2.4. 启动bash终端 链接到标题
新建容器,并启动 bash 终端
语法
$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]实例
$ docker run -it node /bin/bash
2.5. 暂停容器 链接到标题
语法
$ docker pause CONTAINER [CONTAINER...]实例
$ docker pause fd84cd4fc3b7
2.6. 重启容器 链接到标题
语法
$ docker restart [OPTIONS] CONTAINER [CONTAINER...]实例
$ docker restart fd84cd4fc3b7
2.7. 终止容器 链接到标题
语法
$ docker stop [OPTIONS] CONTAINER [CONTAINER...]实例
$ docker stop fd84cd4fc3b7
2.8. 进入容器 链接到标题
语法
$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]实例
$ docker exec -it 769bab71c758 /bin/bash
2.9. 删除容器 链接到标题
可以使用docker [container] rm命令来删除处于终止或退出状态的容器。
语法
$ docker rm [OPTIONS] CONTAINER [CONTAINER...]选项
-f, --force=false:是否强行终止并删除一个运行中的容器 -l, --link=false:删除容器的连接,但保留容器 -v, --volumes=false:删除容器挂载的数据卷。实例
$ docker rm e4f49098de08
2.10. 查看容器详情 链接到标题
语法
$ docker inspect [OPTIONS] NAME|ID [NAME|ID...]实例
$ docker inspect 692586a43ec2
参考 链接到标题
- [1] Docker Reference