前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 常用命令

Docker 常用命令

作者头像
Yorkyu
发布2022-03-22 16:14:22
2560
发布2022-03-22 16:14:22
举报
文章被收录于专栏:约克编程技术

前言

Docker 是基于 Go 语言实现的开源容器项目。它诞生于2013年年初,最初发起者是 dotCloud 公司。

Docker 大部分的操作都围绕着它的三大核心概念:镜像容器仓库

  • Docker 镜像 Docker 镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。镜像是创建 Docker 容器的基础。
  • Docker 容器 Docker 容器类似于一个轻量级的沙箱,Docker 利用容器来运行和隔离应用。 容器是从镜像创建的应用运行实例。它可以启动、开始、停止、删除,而这些容器都是彼此相互隔离、互不可见的。
  • Docker 仓库 Docker 仓库类似于代码仓库,是 Docker 集中存放镜像文件的场所。

一,系统操作

1.1. 查看系统信息

语法

代码语言:javascript
复制
$ docker info [选项]

实例

代码语言:javascript
复制
$ docker info

1.2. 登陆

语法

代码语言:javascript
复制
$ docker login [OPTIONS] [SERVER]

选项

代码语言:javascript
复制
--password , -p		密码

--password-stdin		从标准输入密码

--username , -u		用户名

实例

代码语言:javascript
复制
$ docker login

1.3. 登出

语法

代码语言:javascript
复制
$ docker logout [SERVER]

实例

代码语言:javascript
复制
$ docker logout localhost:8080

二,使用 Docker 镜像

2.1. 获取镜像

代码语言:javascript
复制
$ docker [image] pullNAME[:TAG]

NAME 是镜像仓库名称(用来区分镜像), TAG 是镜像的标签(往往用来表示版本信息)。

代码语言:javascript
复制
# 获取一个 Nginx 1.19.3 镜像
$ docker pull nginx:1.19.3

# 下载一个最新版本 Nginx 镜像
$ docker pull nginx

对于 Docker 镜像来说,如果不显式指定 TAG,则默认会选择 latest 标签。latest标签意味着该镜像的内容会跟踪最新版本的变更而变化,内容是不稳定的。

2.2. 查看镜像信息

语法

代码语言:javascript
复制
$ docker images [选项] [REPOSITORY[:TAG]]

选项

代码语言:javascript
复制
-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信息,默认为否。

实例

代码语言:javascript
复制
# 显示所有镜像
$ docker images

# 显示 node 镜像
$ docker images node

# 显示 node 镜像数字摘要
docker images --digests node

2.3. 查看详细信息

使用 docker[image]inspect 命令可以获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要等。

语法

代码语言:javascript
复制
docker inspect [选项] NAME|ID [NAME|ID...]

选项

代码语言:javascript
复制
--format , -f		使用给定的Go模板格式化输出
--size , -s		如果类型为容器,则显示文件总大小
--type		返回指定类型的JSON

实例

代码语言:javascript
复制
# 查看 node 详情
$ docker inspect node 

# 输出格式
docker inspect --format='{{.Os}}' node

2.4. 查看镜像历史

可以使用 history 子命令,列出镜像各层的创建信息。

语法

代码语言:javascript
复制
$ docker history [OPTIONS] IMAGE

实例

代码语言:javascript
复制
$ docker history node

2.5. 搜索镜像

语法

代码语言:javascript
复制
$ docker search [选项] node

选项

代码语言:javascript
复制
-f, --filter filter:过滤输出内容

--format string:格式化输出内容

--limit int:限制输出结果个数,默认为25个

--no-trunc:不截断输出结果。

实例

代码语言:javascript
复制
# 搜索 node
$ docker serch node

2.6. 打标签

语法

代码语言:javascript
复制
$ docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

实例

代码语言:javascript
复制
# 为专用存储库标记镜像标签
$ docker tag 0e5574283393 localhost:5000/fedora/httpd:version1.0

# 标记名称和标记引用镜像
$ docker tag httpd:test fedora/httpd:version1.0.test

2.7. 推送镜像

语法

代码语言:javascript
复制
$ docker push [OPTIONS] NAME[:TAG]

实例

代码语言:javascript
复制
$ docker push node:latest

二,操作 Docker 容器

2.1. 新建容器

语法

代码语言:javascript
复制
$ docker create [选项] IMAGE [COMMAND] [ARG...]

实例

代码语言:javascript
复制
# 新建容器
$ docker create -it node:latest

2.2. 查看容器列表

语法

代码语言:javascript
复制
$ docker ps [OPTIONS]

实例

代码语言:javascript
复制
# 查看容器
$ docker ps

# 查看所有容器
$ docker ps -a

2.3. 运行容器

语法

代码语言:javascript
复制
$ docker start [选项] CONTAINER [CONTAINER...]

实例

代码语言:javascript
复制
$ docker start 769bab71c758

2.4. 启动bash终端

新建容器,并启动 bash 终端

语法

代码语言:javascript
复制
$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

实例

代码语言:javascript
复制
$ docker run -it node /bin/bash

2.5. 暂停容器

语法

代码语言:javascript
复制
$ docker pause CONTAINER [CONTAINER...]

实例

代码语言:javascript
复制
$ docker pause fd84cd4fc3b7

2.6. 重启容器

语法

代码语言:javascript
复制
$ docker restart [OPTIONS] CONTAINER [CONTAINER...]

实例

代码语言:javascript
复制
$ docker restart fd84cd4fc3b7

2.7. 终止容器

语法

代码语言:javascript
复制
$ docker stop [OPTIONS] CONTAINER [CONTAINER...]

实例

代码语言:javascript
复制
$ docker stop fd84cd4fc3b7

2.8. 进入容器

语法

代码语言:javascript
复制
$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

实例

代码语言:javascript
复制
$ docker exec -it 769bab71c758 /bin/bash

2.9. 删除容器

可以使用docker [container] rm命令来删除处于终止或退出状态的容器。

语法

代码语言:javascript
复制
$ docker rm [OPTIONS] CONTAINER [CONTAINER...]

选项

代码语言:javascript
复制
-f, --force=false:是否强行终止并删除一个运行中的容器

-l, --link=false:删除容器的连接,但保留容器

-v, --volumes=false:删除容器挂载的数据卷。

实例

代码语言:javascript
复制
$ docker rm e4f49098de08

2.10. 查看容器详情

语法

代码语言:javascript
复制
$ docker inspect [OPTIONS] NAME|ID [NAME|ID...]

实例

代码语言:javascript
复制
$ docker inspect 692586a43ec2

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年10月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一,系统操作
    • 1.1. 查看系统信息
      • 1.2. 登陆
        • 1.3. 登出
        • 二,使用 Docker 镜像
          • 2.1. 获取镜像
            • 2.2. 查看镜像信息
              • 2.3. 查看详细信息
                • 2.4. 查看镜像历史
                  • 2.5. 搜索镜像
                    • 2.6. 打标签
                      • 2.7. 推送镜像
                      • 二,操作 Docker 容器
                        • 2.1. 新建容器
                          • 2.2. 查看容器列表
                            • 2.3. 运行容器
                              • 2.4. 启动bash终端
                                • 2.5. 暂停容器
                                  • 2.6. 重启容器
                                    • 2.7. 终止容器
                                      • 2.8. 进入容器
                                        • 2.9. 删除容器
                                          • 2.10. 查看容器详情
                                          • 参考
                                          相关产品与服务
                                          容器镜像服务
                                          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档