在CentOS 7中Docker使用教程

官方教程:https://docs.docker.com/install/linux/docker-ce/centos/

阿里教程:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.58e41b1130WL4D

阿里镜像加速:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

  1. Docker帮助命令
docker version
docker info
docker --help

可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。

  1. Docker 镜像命令
##列出本地主机上的镜像
docker images
docker images -aq

##在仓库中搜索镜像
docker search [镜像名]

##从仓库下载镜像
docker pull [镜像名]

##设置镜像标签
docker tag [镜像ID] [REPOSITORY:TAG
]
##从镜像启动一个容器,如果本地没有该镜像则从库下载后再启动(交护模式)
docker rum -it --name [容器命名] [镜像名/镜像ID]:[版本TAG] [command]
docker run -it -p 主机端口:容器端口 [镜像名/镜像ID] /bin/bash     ##端口映射,大写-P 随机端口,小写-p手动指定端口,/udp
#run 有很我实用的[选项],可以用docker run --help来详细查看

##删除本地镜像
docker rmi [镜像名/镜像ID]
docker rmi -f [镜像名/镜像ID]     ##-f选项为强行删除
docker rmi $(docker images -a -q)     ##批量删除本地所有镜像
  1. Docker 容器命令
##列出当主机运行的容器
docker ps   
docker ps -a -q

##启动、停止、重启容器
docker start/stop/restart [容器名/容器ID]

##退出并停止当前容器(容器内使用)
exit
##退出当前容器,容器后台继续运行(容器内使用)
Ctrl + q + P     ##快捷键

##强制结束容器
docker kill [容器名/容器ID]

##进入容器
docker attach [容器ID]     #使用exit退出会,容器会停止
docker exec -it [容器ID] [command]
#exec是新建终端的形式进入,exit退出只会结束单个终端不会造成容器停止(推荐命名用)

##删除已停止的容器,-f参数停止后再删除
docker rm [容器名/容器ID]
docker rm -f $(docker ps -a -q)     ##批量删除容器 例一
docker ps -a -q | xargs docker -rm     ##批量删除容器 例二
##守护模式启动容器
docker run -d [容器名/容器ID] /bin/bash
docker run -d 容器ID /bin/bash -c "while true;do echo Hello!;sleep 2;done"     ##例:后台一直循环语句不认容器空闲

##查看容器日志
docker logs -f -t --tail     

##查看容器内运行的进程
docker top [容器名/容器ID]

##查看容器底层信息(json配置文件)
docker inspect     

##进入容器,不会启动新进程
docker attach     

##新终端进入容器,并可以启动新进程
docker exec     

##不进入容器,执行命令并返回结果
docker exec -t [容器ID] ls -l /tmp
 
 ##拷贝容器内文件到主机
docker cp [容器ID]:容器内路径 主机路径

##将容器创建成镜像文件
docker commint -m="描述信息" -a="作者" 容器ID 目标镜像名
  1. 配置网络
##列出当前所有网络
docker network ls

##创建网络
docker network create -d bridge [网络名称]
#-d:参数指定网络类型,(bridge、overlay)其中 overlay 网络类型用于 Swarm mode。


  1. 配置 DNS
    在宿主机的 /etc/docker/daemon.json 文件中增加以下内容来设置全部容器的 DNS,配置完,需要重启 docker 才能生效。
    不配置则默认使用宿主机:/etc/resolv.conf
{
  "dns" : [
    "114.114.114.114",
    "8.8.8.8"
  ]
}

经验技巧

##列出所有容器的名称及IP地址 (容器名称 - 网络名称 - IP地址)
docker inspect -f '{{.Name}} - {{.HostConfig.NetworkMode}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值