-
本篇文章命令共有:镜像管理命令,容器管理命令
-
镜像管理命令:
-
搜索镜像:
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 容器的端口号
-
: