Docker命令

启动Docker

1
systemctl start docker

停止Docker

1
systemctl stop docker

重启Docker

1
systemctl restart docker

设置开机启动

1
systemctl enable docker

查看Docker概要信息

1
docker info	

查看Docker帮助文档

1
docker --help

查看Docker版本信息

1
docker version

镜像命令

查看所有镜像

1
docker images

目录名称 含义
REPOSITORY 镜像的仓库源
TAG 镜像的标签(版本)同一个仓库有多个TAG的镜像,多个版本;我们用REPOSITORY:TAG来定义不同的镜像;
IMAGE ID 镜像ID,镜像的唯一标识
CREATE 镜像创建时间
SIZE 镜像大小

搜索镜像

1
docker search 镜像名称

下载镜像

下载最新版

1
docker pull 镜像名称

下载指定版本

1
docker pull 镜像名称:版本号

删除镜像

不加版本号就删除最新版

普通删除,如果镜像正在运行就无法删除

1
docker rmi 镜像名称:版本号

强制删除,即使镜像正在运行也可以删除

1
docker rmi -f 镜像名称:版本号

查看元数据

1
docker inspect 镜像id

容器命令

创建容器

普通方式创建容器:创建容器(容器为停止状态)

1
docker run --name 自定义名称 镜像id

交互式创建容器:创建并进入该容器(容器为运行状态)

1
docker run -it --name 自定义名称 镜像id

守护方式创建容器:创建容器但是不进入(容器为运行状态)

1
docker run -di --name 自定义名称 镜像id

端口映射,可以通过:http://192.168.0.140:8888/ 访问

1
docker run --name 自定义名称 -d -p 8888:8080 镜像id

参数:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • –name=”nginx-lb”: 为容器指定一个名称;
  • –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h “mars”: 指定容器的hostname;
  • -e username=”ritchie”: 设置环境变量;
  • –env-file=[]: 从指定文件读入环境变量;
  • –cpuset=”0-2” or –cpuset=”0,1,2”: 绑定容器到指定CPU运行;
  • **-m:**设置容器使用内存最大值;
  • –net=”bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • –link=[]: 添加链接到另一个容器;
  • –expose=[]: 开放一个端口或一组端口;
  • –volume , -v: 绑定一个卷

退出容器

容器停止并退出,命令为:

1
exit

容器不停止退出,按键组合为:

1
CTRL+P+Q

列出容器

查看正在运行的容器

1
docker ps

查看所有容器,包括已经停止的

1
docker ps -a

显示最近创建的2个容器

1
docker ps -n 2

查看停止的容器

1
docker ps -f status=exited

所有选项说明:

-a :显示所有的容器,包括未运行的

-f :根据条件过滤显示的内容

–format :指定返回值的模板文件

-l :显示最近创建的容器

-n :列出最近创建的n个容器

–no-trunc :不截断输出

-q :静默模式,只显示容器编号

-s :显示总的文件大小

进入容器

进入正在运行的容器,参数可以是容器id也可以是容器名称,建议使用容器id

1
docker attach 容器id或者容器名称

启动容器

启动已经停止的容器,参数可以是容器id也可以是容器名称,建议使用容器id

1
docker start 容器id或者容器名称

重启容器

重启正在运行的容器,参数可以是容器id也可以是容器名称,建议使用容器id

1
docker restart 容器id或者容器名称

停止容器

停止正在运行的容器,参数可以是容器id也可以是容器名称,建议使用容器id

1
docker stop 容器id或者容器名称

暴力删除,直接杀掉进程,参数可以是容器id也可以是容器名称,建议使用容器id,不推荐此方法

1
docker kill 容器id或者容器名称

删除容器

删除已经停止的容器,正在运行的容器要先停止再删除

1
docker rm 容器id

强制删除正在运行的容器

1
docker rm -f 容器id

删除多个容器,多个容器id用空格隔开

1
docker rm -f 容器id1 容器id2

删除所有容器

1
docker rm -f $(docker ps -qa)

参数:

  • -f:通过 SIGKILL 信号强制删除一个运行中的容器。
  • -l:移除容器间的网络连接,而非容器本身。
  • -v:删除与容器关联的卷。

执行容器命令

不进入容器并执行容器的命令,例子:docker exec 0f4c269bb2cf ls -l /sys/,本例子的容器为CentOS系统

1
docker exec -it 容器id 容器的可执行命令

查看容器日志

1
docker logs 容器id

某容器的日志文件位置为:在/var/lib/docker/containers下找到对应容器的文件夹,打开文件夹后后一个.log后缀的文件,这就是日志文件了,如果时间久了日志文件变得很大,就直接操作该文件即可

查看容器进程

1
docker top 容器id

文件拷贝

宿主机(当前系统:VM虚拟机正在运行的系统)文件或者目录拷贝到容器内

1
docker cp 需要拷贝的文件或者目录 容器名称或r:容器目录

容器文件或者目录拷贝到宿主机内

1
docker cp 容器名称:容器文件或者目录 宿主机目录

查看元数据

1
docker inspect 容器id

重命名容器

1
docker rename 原容器名 新容器名