【Docker】常用命令总结(精简)

本文详细介绍了Docker的基础命令,包括查看版本信息、搜索和拉取镜像、管理容器(启动、停止、删除、进入、退出)、拷贝文件、查看日志以及容器的保存和发布。此外,还讲解了数据卷的挂载和容器启动时的常用参数。内容全面,适合Docker初学者参考。
摘要由CSDN通过智能技术生成

在这里插入图片描述


在这里插入图片描述

一. 常用命令

1.查看docker版本信息

$ docker version
$ docker info # 包含镜像和容器数量

2.查看本地所有镜像

$ docker images
REPOSITORY               TAG       IMAGE ID       CREATED         SIZE
nginx                    latest    605c77e624dd   6 months ago    141MB
ubuntu                   latest    ba6acccedd29   9 months ago    72.8MB
alpine/git               latest    612b988140be   9 months ago    27.4MB
continuumio/miniconda3   latest    67414e5844b6   11 months ago   391MB
kibana                   7.6.2     f70986bc5191   2 years ago     1.01GB
elasticsearch            7.6.2     f29a1ee41030   2 years ago     791MB

3.搜索镜像

$ docker search 关键词
$ docker search kibana
NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
kibana                                       Kibana gives shape to any kind of data — str…   2434      [OK]       
amazon/opendistro-for-elasticsearch-kibana   The Docker image for Open Distro Kibana         60                   
elastic/kibana                               The Kibana docker images maintained by Elast…   37                   
bitnami/kibana                               Bitnami Docker Image for Kibana!                23                   [OK]
blacktop/kibana                              Alpine Linux based Kibana Docker Image          12                   [OK]
monsantoco/kibana                            Kibana web UI based on Alpine Linux (~65 MB).   3                    [OK]

4.拉取镜像

$ docker pull 镜像名:tag
$ docker pull mysql:5.7
$ docker pull nginx:latest

5.查看某命令的帮助文档

$ docker 命令 --help
$ docker ps --help

6.查看容器

$ docker ps # 显示当前运行的容器
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
f05094804d58   ubuntu    "/bin/bash"   14 minutes ago   Up 12 minutes             ubuntu-test
$ docker ps -a # 显示所有容器

如果ps展示的每个容器信息过长,导致在终端中每条容器的信息多行显示,可用如下命令解决

# 在终端中每行只展示一个容器的信息,并通过键盘方向键左右查看
$ docker ps | less -S
$ docker ps -a | less -S
# 查看完后按q退出

7.删除镜像和删除容器

# 删除镜像(前提:当前环境镜像没有已创建的容器)
$ docker rmi 镜像名
$ docker rmi bitnami/jupyter-base-notebook
# 删除容器
$ docker rm 容器id (id前3个字母即可)
$ docker rm 40b
# 删除全部容器
$ docker rm -f $(docker ps -aq) #全部容器删除

8.停止容器

$ docker stop 容器id
$ docker stop 40b

$ docker stop $(docker ps -a -q) # 停止所有容器
$ docker kill 容器id # 强制停止容器
$ docker kill 40b

9.启动容器

  • 启动容器,指定端口:
    • –name nginx-test:容器名称
    • -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口
    • -d nginx: 设置容器在在后台一直运行
$ docker run --name 自定义名字 -p 8080:80 -d 镜像名
$ docker run --name nginx-test -p 8080:80 -d nginx
  • 启动容器并以命令行模式进入容器从而进行相关命令操作:
$ docker run -it 镜像名 /bin/bash
$ docker run -it ubuntu /bin/bash
root@d0d010f3c360:/# 
# 输出exit退出容器后,容器也会停止
  • 重启容器:
$ docker restart 容器id
$ docker restart 1e5
  • 启动一个容器并保持后台运行:

    • -d后台运行

    • -i交互式操作

    • -t终端

$ docker run -itd --name 自定义容器名字 镜像名
$ docker run -itd --name myubuntu ubuntu
或者
$ docker run -itd --name ubuntu-test ubuntu /bin/bash
a5ea38b79ecb1b16622fe6d38c9c29f766a51e77106f0e5cc365fa1d1c229828

10.进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

  • docker attach
  • docker exec:推荐使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。
  • docker attach
$ docker attach 容器id
$ docker attach f05
root@f05094804d58:/# 
# 输出exec退出容器 会停止容器运行
  • docker exec
$ docker exec -it 容器id bash
$ docker exec -it f05 bash
root@f05094804d58:/# 
# 输出exec退出容器 且不会停止容器运行

11.退出容器

exit 直接退出并结束
ctrl+p+q 让容器在后台运行,不停止并且退出

12.查看容器中的进程信息

$ docker top 容器id
$ docker top f05
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                2205                2178                0                   15:55               ?                   00:00:00            /bin/bash

13.拷贝(主机->容器)

$ docker cp 要拷贝的文件路径 容器名(或id):要拷贝到容器里面对应的路径
$ docker cp /Users/wzp/a.txt f05:/

14.拷贝(容器->主机)

$ docker cp 容器名(或id):要拷贝到容器里面对应的路径 要拷贝的文件路径 
$ docker cp f05:/a.txt /Users/wzp

15.查看日志

$ docker logs -tf --tail 数字 容器id
$ docker logs -tf --tail 3 031
  • -t 显示时间戳
  • -f 跟踪日志输出
  • –tail 数字 显示最后多少条

二、容器的保存和发布

在这里插入图片描述

1.容器提交到镜像commit

$ docker commit 容器id name
$ docker commit 9d8befd147xx myubuntutest
sha256:8df1f39ac6b8ea85fa4816042c64bbc79f1cc36249d50044afdc9c798adxxxxxxx

提交完毕后,用docker images查看

2.镜像保存save

将上一步commit的镜像进行保存

$ docker save -o 路径及自定义名字.tar 镜像名
$ docker save -o image_save_test.tar myubuntutest # 保存到当前路径

3.镜像加载load

将上面的步骤中所涉及的容器及镜像删除,用tar文件恢复

$ docker load -i 路径/名字.tar
$ docker load -i image_save_test.tar

docker images查看

REPOSITORY               TAG       IMAGE ID       CREATED          SIZE
myubuntutest             latest    8df1f39ac6b8   10 minutes ago   178MB

在用run命令即可恢复之前的容器

三、容器挂载(数据卷)

$ docker run -it -v 主机目录:容器内目录
$ docker run -itd -v /home/helloworld:/home myubuntutest bash 

设置后两个文件夹中的内容将互相同步

使用docker inspect 容器id可查看其中的挂载信息

四、容器启动run常用参数

$ docker run [参数] image
  • -d: 后台运行容器
  • -i 以交互模式运行容器,通常与-t同时使用
  • -t 进入容器终端
  • –volume 或 -v: 绑定一个数据卷
  • –net=“bridge”: 指定容器的网络连接类型,支持bridge/host/none/container四种类型
  • –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和主机一致
  • -p: 指定端口映射,格式为:主机端口:容器端口
  • –name=“自定义名”: 为容器命名
  • –link=[]: 添加链接到另一个容器
  • –expose=[]: 开放一个端口或一组端口

其他

1.在ubuntu容器中使用vim

1 进入容器
$ docker exec -it 容器id bash
2 在容器内更新apt-get
$ apt-get update
3 下载vim
$ apt-get install vim

内容更新中ing

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值