0 配置 Docker 国内镜像源(推荐)
bash
# 创建/编辑Docker配置文件
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
EOF
# 重启Docker服务使配置生效
systemctl daemon-reload
systemctl restart docker
1 centos7安装docker-ce
bash
安装Docker
docker分为企业版和社区版
企业版 : docker
社区版 : docker-ce
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/
# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 安装yum源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 安装
yum install docker-ce-19.03.9 -y

2 docker相关命令
bash
1、什么是镜像?
用来启动容器的模板,镜像一般是存在镜像仓库中的。
镜像仓库地址:https://hub.docker.com/search?type=image
仓库分为三种:
官方仓库: hub.docker.com
第三方仓库: https://cr.console.aliyun.com/cn-hangzhou/instance/repositories
自建仓库 : haobor
2、镜像的相关命令
1、搜索镜像
[root@localhost ~]# docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 6809 [OK]
ansible/centos7-ansible Ansible on Centos7 135 [OK]
镜像的名称 该镜像的介绍 镜像的收藏数 是否是官方镜像 是否是自建镜像
2、下载镜像
[root@localhost ~]# docker pull centos
镜像名称的构成:
[仓库URL]/[仓库的名称空间]/[仓库的名称]:[镜像的版本号]
默认的仓库URL:docker.io
默认的仓库名称空间:library
仓库的名称:没有默认
镜像版本号:默认是latest
3、查看本地镜像列表
docker images 或者 docker image ls
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 5d0da3dc9764 5 weeks ago 231MB
REPOSITORY:[仓库URL]/[仓库的名称空间]/[仓库的名称]
TAG : 版本号
IMAGE ID : 缩写版的镜像ID
CREATED :创建该容器到现在的时间
SIZE :镜像大小
[root@localhost ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 5d0da3dc9764 5 weeks ago 231MB
4、查看镜像的详情
docker inspect [镜像名称或ID]
5、更改镜像的名称
docker tag [原来的名称] [新名称]
6、上传镜像
将镜像上传至远程仓库。
1、登录仓库
2、修改镜像名称
docker tag registry.cn-hangzhou.aliyuncs.com/k8sos/centos:v1
3、上传镜像
docker push [仓库URL]/[仓库的名称空间]/[仓库的名称]:[版本号]
7、登录仓库
docker login [仓库URL]
仓库URL默认是:docker.io
8、创建镜像
9、删除镜像
docker rmi [仓库的名称ID]
docker rmi
[root@localhost ~]# docker rmi test:v1
10、修改镜像
镜像一旦被创建,将无法进行修改,除非重新创建。
11、查看镜像的构建历史
[root@localhost ~]# docker history centos
IMAGE CREATED CREATED BY SIZE COMMENT
5d0da3dc9764 5 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 5 weeks ago /bin/sh -c #(nop) LABEL org.label-schema.sc... 0B
<missing> 5 weeks ago /bin/sh -c #(nop) ADD file:805cb5e15fb6e0bb0... 231MB
other --- 永久配置 DNS

这是cat /etc/resolv.conf命令的执行结果,核心问题是该文件中无任何有效 DNS 服务器配置,
这直接导致了之前yum命令无法解析域名的故障。
由于该文件由NetworkManager管理,临时修改会在网络重启后丢失,需通过NetworkManager配置:
bash
# 编辑网络配置文件(以网卡名为ens33为例,需替换为实际网卡名)
nmcli connection modify ens33 ipv4.dns "223.5.5.5 114.114.114.114"
# 重启网络使配置生效
nmcli connection up ens33
验证配置
bash
ping mirrorlist.centos.org # 测试域名解析