docker命令锦集---

  • 本篇文章命令共有:镜像管理命令,容器管理命令

  • 镜像管理命令:

  • 搜索镜像:
docker search 镜像名称

  • 获取镜像:
docker pull 镜像名称

  • 查看本地的镜像:
docker images

  • 查看本地镜像的 镜像ID:
docker images -q

  • 修改一个镜像的 TAG:
docker  tag  镜像ID  新镜像名称:新标签

  • 查看一个镜像的制作历程:
docker history 镜像名称

  • 备份本地仓库的镜像到本地目录下:
docker save -o 备份完成镜像的名称 需要备份的镜像的名称

  • 将本地目录下的镜像备份文件导入到本地 Docker 仓库:
docker load -i 本地目录镜像的名称
# -q 不输出信息

  • 删除镜像:
docker rmi 镜像名:标签名

  • 容器管理命令:

常用参数:
# 参数:
-i       保持和 docker 容器内的交互,启动容器时,运行的命令结束后,容器依然
         存活,没有退出(默认是会退出,即停止的)
-v     专业术语叫挂载
       (通俗说:就是将本机(宿主机)上的配置移动到容器上,宿主机的配置更新时容器的配置也会同步更新)
-e    设置环境变量,容器中可使用该环境变量。
-p     设置ip
-d     后台运行容器,并返回容器ID
-t       为容器的标准输入虚拟一个tty
-d       后台运行容器
--rm     容器在启动后,执行完成命令或程序后就销毁(不可于 -d 一起使用)
--name    给容器起一个自定义名称
--restart   docker 1.12 新增加的参数,用来指定容器的重启策略,当前提供的策略包括:
no           默认值,如果容器挂掉不自动重启。
on-failure   当容器以非 0 码退出时重启容器,同时可接受一个可选的最大重启次数参数 (e.g. on-failure:5).
always      不管退出码是多少都要重启,就算是你重启了 docker 
daemon 服务,容器也会同时跟着重启。
--cap-add   允许容器里可以使用的功能或命令

  • 运行一个容器:
docker run 参数 镜像名称:标签的名称 执行的命令

  • 查看正在运行中的容器:
docker ps
#下列是查询出来参数的名称
CONTAINER ID 容器ID

IMAGE 容器依赖的镜像

COMMAND 启动容器时执行的命令或程序

CREATED 容器启动时到现在的相隔时间

STATUS 容器状态

PORTS 宿主机到容器的端口映射
#注意: 当运行一个容器的时候,没有用参数--name去指定容器名时,
#Docker会从自己的名称库中随机给这个容器起一个名字 .

  • 查看本地所有的容器:
docker ps -a

  • 查看最近一次启动的容器:
docker ps -l

  • 获取正在运行的容器的容器 ID:
docker ps -q

  • 获取所有容器的容器 ID:
docker ps -aq

  • 查看容器的元数据:
docker  inspect  <容器ID|容器名>

  • 重命名容器名称:
docker rename  当前容器名称  新的容器名称

  • 启动容器,让其在后台运行:
docker start 容器名/容器 ID

  • 启动容器并获得一个终端(说白了就是启动并且进入容器):
docker  start   -i   容器名/容器 ID

  • 停止一个容器:
docker stop   容器 ID

  • 删除容器:
docker rm 容器 ID

  • 在外部执行运行状态中容器的命令(在宿主机上执行处于运行状态的容器的命令):
docker  exec 容器名/容器 ID(不是镜像名/镜像ID)  执行的命令  [参数] 

  • 进入到一个正在运行中的容器:

#当使用 -d 参数时,容器启动后会进入后台运行。某一些时候需要进入容器内操作.
#attach 命令
#使用 -it 参数
1.运行一个容器,并设置后台启动
docker run -itd --name 容器的别名 镜像的名字
2.进入某容器
docker attach -it 容器名称


  • 监控容器的运行:
1.查看日志
可以通过使用docker logs命令来查看容器的运行日志
--tail      选项可以指定查看最后几条日志
-t           选项则可以对日志条目附加时间戳。
--until   显示在某个时间戳(例如:2018-05-25T 13:23:37)之前的日志,还可以相对时间(例如:42m 42 minutes)
例子:查看 2018年5月25日之前的日志
docker logs --until 2018-05-25  容器ID


  • 查看运行中容器的进程:
docker top 容器ID

  • 在宿主机和容器之间交换文件:
在宿主机和容器之间相互COPY文件
cp的用法如下:

如:容器 centos7.4 中/root/a.txt,copy 到宿主机的当前目录下
docker cp 容器名称:需要拷贝文件的路径(加上文件名和后缀) 需要将文件拷贝到本机路径下的路径
如:将该文件重新copy回容器
docker cp 需要copy文件的路径 容器名称:copy文件的路径

  • 查看容器内发生改变的文件:
docker diff 容器ID

  • 容器端口映射:

1.映射指定的本地 IP 和端口到容器端口

docker run -d -p 本地ip:本地端口:容器端口 --name 容器别名 镜像名称:标签名称

2.映射本地指定 IP 的任意端口到容器的一个端口,本地主机会自动分配一个端口

docker run -d -p 本地ip:本地端口::容器端口 --name 容器别名 镜像名称:标签名称

3.映射本机的所有的地址的指定端口到容器的指定端口

docker run -d -p 本地端口:容器端口  镜像名称:标签名称

  • -p 标记可以多次使用来绑定多个端口:
$ docker run -d \
    --name nginx110
    -p 5001:5000 \
    -p 3000:80 \
    nginx

  • 查看端口映射配置信息:
docker port 容器名/容器 ID 容器的端口号

  • :
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容