一、目的
Docker是目前非常流行的虚拟技术,在云计算领域得到了广泛的应用。国内的阿里、京东等大厂都非常普遍地应用了Docker。本文记录了Docker的基本安装过程及最终运行结果,以期备忘,及和同行们交流之用。
二、操作流程
有2台虚拟机,分别安装Centos 7.6,一台Docker宿主机,IP为:192.168.221.129,另一台为Docker应用主机,IP为:192.168.221.130。本文安装过程及结果为:两台机器都安装Docker,其中,宿主机器安装私有仓库,在Docker公有仓库中下载hello-world镜像,打标签后,将镜像文件上传到私有库。在Docker应用主机中,下载宿主机器上的hello-world镜像,运行并查看结果。操作流程图为:
三、操作过程:
1.两台虚拟机都安装Docker,使用命令为:
yum install docker-ce
安装完成后,关闭防火墙,并设置不随机启动以期达到通过端口通讯的目的。相关命令为:
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
之后,启动Docker并设置随机启动
systemctl enable docker.service
systemctl start docker.service
以上为基本操作,以下进入正题。
首先,从Docker公有库中,拉取仓库镜像,使用命令为:
docker pull registry
拉取完成后,查看下本机的镜像:
docker images
确认无误后,创建本机私有仓库的对应目录,用于存储仓库内的镜像。
mkdir -p /opt/data/registry //创建仓库所在的文件目录
docker run -d -p : -v /opt/data/registry:/var/lib/registry
--name private_registry registry
运行docker ps查看容器是否启动成功:
然后,根据本机ip地址及配置文件路径,打开docker配置文件(配置文件位置,通过systemctl status docker命令查看),在配置文件中的ExecStart行添加配置:
--insecure-registry=192.168.221.129:
然后运行命令:
systemctl daemon-reload
systemctl restart docker
docker start private_registry
重新加载配置文件,并启动Docker。
四、测试私有仓库
1.从公有仓库拉取hello-world镜像,并检查拉取结果
2.打标签:
docker tag hello-world 192.168.221.129:/myhello
3.推入私有仓库:
注意,此时一定要确保私有仓库启动,如果没有启动,则会报错(无法链接),需要使用以下命令来启动,
docker start private_registry
4.在Docker应用机器上,使用命令拉取hello-world镜像:
docker pull 192.168.221.129:/myhello
5.运行hello-world镜像,查看运行结果:
五、遗留问题
1.Docker结构及配置需要详细研究
2.在从私有库下载镜像时能否通过简称下载?
3.更新私有库镜像后,应用机如何自动获取镜像更新?
4.实战化操练:实际运行一个java或者其他web应用以便发现更多问题
本文结束。