Docker常用操作命令大全
环境
Linux Centos7
docker进程相关命令
systemctl start docker#启动docker服务systemctl stop docker#停止docker服务systemctl restart docker#重启docker服务systemctl status docker#查看docker服务状态systemctl enable docker#设置开机启动服务
docker容器管理命令
docker run -d --name {your_name} {image_name} # 运行容器
参数说明:
-i:以交互模式运行容器,通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。
-it 创建的容器一般称为交互式容器;
-id 创建的容器一般称为守护式容器。
–name:为创建的容器命名。
-p:指定容器的端口,格式为:主机(宿主)端口:容器端口
-P(大写): 随机端口映射,容器内部端口随机映射到主机的端口
–volume , -v: 绑定一个卷,格式:宿主机目录/文件:容器内目录/文件
目录必须是绝对路径,如果目录不存在,会自动创建,可以挂载多个数据卷。
1 | 例子: |
docker ps# 查看正在运行的容器docker ps -s -a#查看当前所有容器docker stop {容器ID}#停止容器docker restart {容器ID}#重启容器docker kill {容器ID}#杀死容器docker rm -f {容器ID}#删除已经停止的容器(这个会彻底释放内存)
如果容器是运行状态则删除失败,需要停止容器才能删除。
docker镜像管理命令
docker images#查看当前机器的所有镜像参数:
-a/–all 列出所有镜像
-q/–quiet 只显示镜像的id
docker images –q# 查看所用镜像的iddocker search {镜像名称}#搜索镜像,网络中查找需要的镜像$docker search redis查找stars大于3000的镜像:
docker search mysql --filter=stars=3000docker pull {镜像名称}[:tag]#从Docker仓库拉取镜像,名称:版本号
$docker pull mysql 或$docker pull mysql:5.7
docker push {镜像名称}#推送镜像docker rmi [-f] {镜像名称/镜像id}#删除本地机器的镜像docker rmi [-f] {镜像id} {镜像id} {镜像id}#删除多个本地机器的镜像docker rmi [-f] docker images -q#删除所有本地镜像docker tag 镜像名称:tag 镜像名称:tag#为一个镜像打tag将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像
docker tag ubuntu:15.10 runoob/ubuntu:v3查看:
docker images runoob/ubuntu:v3docker save {image_name} > {new_image_name}.tar#镜像打包成一个tar包docker load < {image_name}.tar#解压一个镜像tar包
查看日志信息
docker logs -f {容器ID}#查看容器日志docker info#查看docker服务的信息docker inspect {容器ID}# 获取镜像的元信息,详细信息
查看进程
$ docker top f42ae22e4b72
与容器交互的命令
进入正在运行的容器
1 | docker exec -it 容器ID或者容器名 /bin/bash |
exec的意思是在容器中运行⼀个命令。/bin/bash是固有写法,作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动 bash。
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
退出容器
exit #退出也关闭容器;
Ctrl+P+Q #退出不关闭容器
拷贝文件
docker cp 主机文件路径 容器ID或容器名:容器路径 #宿主机文件拷贝到容器中
docker cp 容器ID或容器名:容器路径 主机文件路径 #容器文件拷贝到宿主机中
原文链接:

