Docker命令
启动Docker
停止Docker
重启Docker
1
| systemctl restart docker
|
设置开机启动
查看Docker概要信息
查看Docker帮助文档
查看Docker版本信息
镜像命令
查看所有镜像
目录名称 |
含义 |
REPOSITORY |
镜像的仓库源 |
TAG |
镜像的标签(版本)同一个仓库有多个TAG的镜像,多个版本;我们用REPOSITORY:TAG来定义不同的镜像; |
IMAGE ID |
镜像ID,镜像的唯一标识 |
CREATE |
镜像创建时间 |
SIZE |
镜像大小 |
搜索镜像
下载镜像
下载最新版
下载指定版本
删除镜像
不加版本号就删除最新版
普通删除,如果镜像正在运行就无法删除
强制删除,即使镜像正在运行也可以删除
查看元数据
容器命令
创建容器
普通方式创建容器:创建容器(容器为停止状态)
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: 绑定一个卷
退出容器
容器停止并退出,命令为:
容器不停止退出,按键组合为:
列出容器
查看正在运行的容器
查看所有容器,包括已经停止的
显示最近创建的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
重启容器
重启正在运行的容器,参数可以是容器id也可以是容器名称,建议使用容器id
1
| docker restart 容器id或者容器名称
|
停止容器
停止正在运行的容器,参数可以是容器id也可以是容器名称,建议使用容器id
暴力删除,直接杀掉进程,参数可以是容器id也可以是容器名称,建议使用容器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 容器的可执行命令
|
查看容器日志
某容器的日志文件位置为:在/var/lib/docker/containers下找到对应容器的文件夹,打开文件夹后后一个.log后缀的文件,这就是日志文件了,如果时间久了日志文件变得很大,就直接操作该文件即可
查看容器进程
文件拷贝
宿主机(当前系统:VM虚拟机正在运行的系统)文件或者目录拷贝到容器内
1
| docker cp 需要拷贝的文件或者目录 容器名称或r:容器目录
|
容器文件或者目录拷贝到宿主机内
1
| docker cp 容器名称:容器文件或者目录 宿主机目录
|
查看元数据
重命名容器