Docker常用命令分类总结

Docker服务管理

  • yum -y install docker-ce 下载最新版的docker
  • systemctl status docker 查看docker运行状态
  • systemctl start docker 启动docker
  • systemctl stop docker 停止docker
  • systemctl restart docker重启docker
  • service docker stop 停止docker
  • service docker restart 重启docker

Docker软件环境

  • docker version 查看docker版本号
  • docker info 查看docker信息
  • docker --help 查询所有命令
  • docker [command] --help 查看某个命令的帮助文档

容器管理

  • docker run -it --name centos6.10 -p 7000:6379 dockerhub/centos:6 以交互模式创建容器,这样才能启动之后不退出(注意i和t最好一同使用,否则的话虽然能进入控制台,但是没有控制台的前缀,像是阻塞了,感觉怪怪的)
  • docker run -d --name mysql-1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7 启动mysql可以直接用参数d,否则会卡在里面出不来,而且要记得输入root用户的密码
  • docker ps -a 列出所有容器信息
  • docker ps --no-trunc -a 不加截取的显示所有信息
  • docker start redis7000 启动容器(可追加多个)
  • docker stop redis7000 停止容器(可追加多个)
  • docker restart redis7000 重启容器(可追加多个)
  • docker stats -a 查看各个容器占用CPU和内存的情况
  • docker exec -it redis7000 bash 进入到容器控制台中
  • docker exec -it redis7000 [linux command] 可以直接在容器中执行命令
  • docker rm a5184a35532 根据容器id删除容器
  • docker rm redis7000 根据容器名称删除容器
  • docker cp ROOT.war easyMall-tomcat:/usr/local/tomcat/webapps/ 将文件拷贝到容器中

网络管理

  • docker network create --subnet=172.18.0.0/24 slgdockernet 创建网络

  • docker network ls 列出当前网络

  • docker network inspect slgdockernet 查看某个网络中的节点情况

  • docker inspect --format='{{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq) 显示所有容器的IP地址

  • docker inspect 容器ID | grep IPAddress 查看某个容器的IP地址

  • docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id 查看某个容器的IP地址by名称或ID

  • 重建docker网络方法:

pkill docker 
iptables -t nat -F 
ifconfig docker0 down 
brctl delbr docker0 
docker -d 
service docker restart

镜像管理

  • docker search keywords 从Docker Hub查找有哪些公共可用的镜像
  • docker pull centos:6 从镜像仓库中下载,前面是软件后面是版本号
  • docker images 查看当前拥有的镜像
  • docker load -i redis-3.2.8.tar 装载redis镜像
  • docker save a2a69ca5184a > jt-centOS6.tar 根据镜像id导出镜像
  • docker save -o redis-3.2.8.tar redis:3.2.8 根据镜像名称导出镜像
  • docker rmi a2a69ca5184a 根据id删除镜像文件
  • docker rmi mysql:5.7 根据repository:tag删除镜像
  • docker tag 44a8e1a5c0b2 docker.io/mysql:5.7 标记本地镜像(设置名字)
  • docker build --rm -t dockerhub/centos6.10:0.0.1 .
    (创建镜像,其中–rm表示删除中间环节产生的容器。注意最后那个“点”必须加!代表当前目录!并且Dockerfile必须也在当前目录)
  • docker commit 991660e8a4d2 slgdocker/redis2 将某个容器创建为一个新镜像,注意是容器ID而非镜像ID
  • docker image inspect --format='{{.RepoTags}} {{.Id}} {{.Parent}}' $(docker image ls -q --filter since=f7b62139738e) 查看依赖某个镜像的其它镜像,since后面即为镜像ID

基础镜像做法

  1. 进入https://hub.docker.com/_/centos/,找到下方的CentOS image documentation,根据自己的需求选择合适的命令
  2. 在linux控制台敲入docker pull centos:6(该大版本的最近小版本),如果需要选择精确版本,那么需要将tag也键入,例如docker pull centos:6.10
  3. 此时最基础的系统镜像就创建好了,之后可以按照网站后面的提示将该镜像中的/etc/yum.conf重新配置下,并且将必须的软件安装一下
  4. 再根据当前容器commit创建一个新的镜像即可

Docker文件路径

  • 本地镜像默认保存在Docker宿主机的/var/lib/docker目录下
  • 容器默认保存在Docker宿主机的/var/lib/docker/containers目录下,下面每一个文件夹的名称即为containerID
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值