Docker常用的命令记录

Docker常用命令

镜像相关指令

这些镜像存储在Docker宿主机的/var/lib/docker目录下

  • docker images 查看当前镜像列表
  • docker search 镜像名称 搜索镜像
  • docker pull 镜像名称 下载镜像 如果后面没有加 tag,默认是下载latest版本, 指定版本:tag
  • docker rmi 镜像名称/id 删除镜像
  • docker rmi -f 镜像名称/id 强行删除镜像
  • docker rmi ‘docker images -q’ 删除所有镜像
容器相关指令
  • docker ps 查看所有运行中的容器
  • docker ps -a 查看所有容器
  • docker ps -l 查看最后一次运行的容器
  • docker ps -f statys=exited 查看停止的容器
  • docker run -i/t/v/d/p --name=容器名称 镜像名称:标签 /bin/bash 交互方式创建容器交互式创建成后会自动进入,退出后会停止当前容器
  • docker run -i/t/v/d/p --name=容器名称 镜像名称:标签 守护方式创建容器守护式和交互式相反
    • -i:标识容器
    • -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端
    • -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上
    • -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)
    • -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
    • –name:为创建的容器命名, 必须是唯一的
  • docker exec -it 容器名称/id /bin/bash 登陆守护式容器
  • exit 退出当前容器
  • docker stop 容器名/id 停止容器
  • docker start 容器名称/id 启动容器
  • docker inspect 容器名称/id 查看容器id
  • docker inspect --format=’{{.NetworkSettings.IPAddress}}’ 容器名称/id 直接输出容器id
  • docker rm 容器名称/id 删除容器
  • docker rm -f 容器名称/id 强行删除容器
  • docker logs -f 容器名/id 查看容器运行日志
文件拷贝
  • docker cp data/readme.txt centos01:/root/mydata/ 从宿主拷贝文件到容器
  • docker cp centos01:/root/mydata/readme.txt /root/data 从容器拷贝文件到宿主
目录挂载
  • docker run -di -v /usr/local/myhtml:/usr/local/myhtml --privileged=true --name=mycentos3 centos:7 根据centos:7创建一个名字是mycentos3的容器,并且使用宿主的/usr/local/myhtml文件和容器的/usr/local/myhtml映射,–privileged=true 代表的是多级文件夹下的权限访问问题
数据卷管理
  • docker volume create html 创建一个html的数据卷
  • docker volume inspect html 显示html或多个指定数据卷的详细信息
  • docker volume ls 查看所有的数据卷
  • docker volume prune 删除所有未使用的数据卷
  • docker volume rm html 删除html或多个指定数据卷
  • docker run -id --name=my-nginx -p 8888:80 -v html:/usr/share/nginx/html nginx 根据nginx镜像创建一个名为my-nginx的容器,挂载数据卷html,此时修改数据卷html目录的文件可以影响到容器
  • docker run --name my-nginx -p 8888:80 -v html:/usr/share/nginx/html -v $PWD/nginx.conf:/etc/nginx/nginx.conf --privileged=true -id nginx
    • 根据nginx镜像创建一个名为my-nginx的容器
    • 端口映射8888->80,挂载两个数据卷
    • 一个是html目录,一个是$PWD/nginx.conf文件
    • $PWD代表当前目录
    • –privileged表示授予本地目录的访问权限
    • -d表示后台运行
网络指令
  • docker network create -d bridge my-net 创建一个名为my-net的网卡
  • docker network ls 查看所有网卡
  • docker network inspect my-net 查看my-net网卡的详细信息
  • docker network connect my-net my-nginx 将正在运行的my-nginx容器连接my-net网卡
  • docker run -it --rm --name=mycentos --network=my-net centos:7 /bin/bash 在创建名为mycentos的容器时,连接一个my-net网卡,
    • –rm 容器退出时,自动删除容器
迁移和备份
  • docker commit my-nginx my-nginx-temp 将名为my-nginx的容器保存为名为my-nginx-temp的镜像
  • docker save -o my-nginx-temp.tar my-nginx-temp 将名为my-nginx-temp的镜像保存为tar文件
  • docker load -i my-nginx-temp.tar 将tar文件恢复成镜像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值