首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

docker常用命令详解

本文只记录docker命令在大部分情境下的使用。

总的来说分为以下几种:

Docker环境信息 — docker [info|version]

容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]

容器操作运维 — docker [ps|inspect|top|attach|wait|export|port|rename|stat]

容器rootfs命令 — docker [commit|cp|diff]

镜像仓库 — docker [login|pull|push|search]

本地镜像管理 — docker [build|images|rmi|tag|save|import|load]

容器资源管理 — docker [volume|network]

系统日志信息 — docker [events|history|logs]

一、常用命令

1、显示 Docker 版本信息

docker version

2、显示 Docker 系统信息,包括镜像和容器数

docker info

3、帮助

docker --help

二、镜像管理

1、列出镜像

docker images

2、获取一个新的镜像

docker pull nginx:1.18.0

3、查找镜像

我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/

我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个 httpd 的镜像来作为我们的 web 服务。我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像。

docker search httpd

4、删除镜像

docker image rm 镜像名标签或者ID

5、镜像导入与导出

方法一:

docker save image:tag > xxx.tar                   # save导出.tardocker load < xxx.tar                             # load导入镜像方法二:

docker export image > xxx.tar                     # export导出成.tarcat xxx.tar | sudo docker import - image:tag      # import导入镜像

注:两种方法不可混用

三、容器生命周期

1、运行容器

docker run -it nginx:latest sh# -d: 后台运行容器    -i:以交互模式运行容器    -t:为容器重新分配一个伪输入终端   -it常一起使用# -p: 指定端口映射,格式为:主机(宿主)端口:容器端口    --name="nginx-lb":为容器指定一个名称# -v: 挂载目录    -e username="ritchie":设置环境变量    -env-file=[]:从指定文件读入环境变量

2、启动被停止的容器

docker start 容器名或ID

3、停止运行中的容器

docker stop 容器名或ID

4、重启容器

docker restart 容器名或ID

5、杀掉运行中的容器

docker kill -s KILL 容器名或者ID

6、删除容器

docker rm 容器名或ID

7、暂停容器中所有进程

暂停数据库容器db01提供服务:   docker pause db01

8、启动容器中所有进程

恢复数据库容器db01提供服务:   docker unpause db01

9、运行的容器中执行命令

docker exec -it 容器名或ID sh# -d:分离模式,在后台运行     -i:即使没有附加也保持打开     -t:分配一个伪终端

10、删除所有停止状态的容器

docker rm `docker ps -a|grep Exited|awk ''`

四、容器操作

1、列出容器

docker ps   # 参数 -a:显示所有的容器    -f:根据条件过滤显示    -l:显示最近创建的容器

               # 参数  -q:静默模式,只显示容器编号     -s:显示总的文件大小。

2、获取容器/镜像的元数据

docker inspect 容器名或ID | grep IPAddress   显示容器的IP

3、获取容器的日志

docker logs  # 参数: -f:跟踪日志输出  --since:显示某个开始时间的所有日志  -t:显示时间戳  --tail:仅列出最新N条容器日志

4、查看容器的端口映射情况

docker port 容器名或ID

五、rootfs命令

1、容器中创建一个新的镜像

docker commit -a "作者" -m "说明文字" 容器名或ID 镜像名:标签

2、容器与主机之间数据拷贝

docker cp /datadir xxx:/datapath     # 主机/datadir目录拷贝到容器xxx中,目录重命名为/datapath

3、检查容器中文件结构的更改

docker diff mymysql                  # 查看容器mymysql的文件结构更改

六、镜像仓库

1、登陆到Docker镜像仓库

docker login -u 用户名 -p 密码  # 登陆到Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库Docker Hub

2、登出Docker镜像仓库

docker logout  # 登出Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

3、从镜像仓库拉取镜像

docker pull java:latest    # 拉去镜像库最新的java镜像

4、将镜像上传到镜像仓库

docker push java:latest    # 上传本地镜像java:latest到镜像仓库中

5、从Docker Hub查找镜像

docker search

参数:     --automated:只列出 automated build类型的镜像

       --no-trunc :显示完整的镜像描述

       -s :列出收藏数不小于指定值的镜像。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201231A046PH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券