官方文档:https://docs.docker.com/engine/install/centos/
卸载docker老版本
yum -y remove docker*
安装docker源
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
安装docker
yum -y install docker-ce
配置国内docker加速
- 科大镜像:https://docker.mirrors.ustc.edu.cn/
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:https://reg-mirror.qiniu.com
推荐阿里云docker加速,独享带宽
登录阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
配置加速文件,并重启docker。操作以下命令(替换你自己的ID)
#从未启动过docker时,需要创建/etc/docker目录
sudo mkdir -p /etc/docker
#创建daemon.json加速配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<你的ID>.mirror.aliyuncs.com"]
}
EOF
#重新加载配置
sudo systemctl daemon-reload
#重启docker
sudo systemctl restart docker
查看docker信息(倒数几行会打印出你的加速地址)
docker info
docker常用命令
docker命令都是已docker开头,部分新命令需要加入“container”参数
#查找镜像,可以通过命令或者官网:hub.docker.com中查找镜像包
docker search <镜像名称>
#下载镜像
docker pull <镜像名称>
#查看已下载镜像
docker image ls
或
docker images
#镜像创建容器并启动(如果本地没有自动pull)
docker run <镜像名称>
###run后的参数
-d:后台yunx
--name:定义容器名称
-p:端口号(格式 <本地端口>:<docker端口>)
-v:目录映射(格式 <本地目录>:<docker目录>)
-i:交互式
-t:tty终端
#容器启动/停止/重启
docker start/stop/restart <容器名或ID>
#启动-所有容器
docker start $(docker ps -qa)
#停止-所有容器
docker stop $(docker ps -qa)
#重启-所有容器
docker restart $(docker ps -qa)
#运行容器中执行命令(交互式:进入容器)
docker exec -it <容器ID>或<容器名称> bash
#运行容器中执行命令(非交互式:执行命令或脚本)
docker exec <容器ID>或<容器名称> <命令>或<脚本>
#将文件复制到容器中
docker cp <宿主机文件路径> <容器ID或容器名>:<容器中路径>
#查看容器信息
docker inspect <容器名或ID>
#查看容器日志
docker logs <容器名或ID>
#查看容器端口
docker port <容器名或ID>
#查看容器进程
docker top <容器名或ID>
#查看容器资源利用率(--no-streamt退出数据流)
docker stats <容器名或ID> --no-stream
#仅查看up状态的容器
docker ps
或
docker container ls
#查看最后一次运行的容器(常用于创建完容器查看使用)
docker ps -l
#查看所有容器(包括退出状态的)
docker ps -a
#查看所有容器ID(包括退出状态的)
docker ps -q
#删除指定容器(-f强制)
docker rm <容器名或ID> -f
#删除所有退出状态的容器
docker container prune
#删除所有容器
docker rm -f $(docker ps -qa)
#删除指定镜像(需先删除对应的容器)
docker rmi <镜像名或ID>
#删除所有镜像(需先所有的容器)
docker rmi $(docker ps -qa)
其它命令,可docker --help
例:
启动centos容器:docker run -d -it centos
进入已启动的centos容器:docker exec -it centos bash
启动nginx容器命名为web,配置本地88映射到docker的80端口,并将本地目录/opt/www映射到docker的/usr/share/nginx/html下:
docker run -d –name web -p 88:80 -v /opt/www:/usr/share/nginx/html nginx
获取容器名为web的ip:
docker inspect -f='{{. Networksettings.IPAddress}}’ web
或者使用 docker exec web hostname -I
发表评论