k8s 上运行我们的 springboot 服务之——在 linux 安装 docker 并搭建 docker 私服
![k8s上运行我们的springboot服务之——在linux安装docker并搭建docker私服](https://static001.geekbang.org/infoq/cf/cf2658fdc4624021bc81071c12bd0ea6.jpeg)
下载安装docker
配置docker yum源
由于国内的网络情况,我们一般都会把docker源配置为我们国内大厂的yum源,我一般都配置为阿里的
#yum -y install yum-utils
#yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
添加内核参数
请添加内核配置参数以启用这些功能。
#tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
然后重新加载 sysctl.conf 即可
#sysctl -p
查看docker版本并安装
罗列docker版本
#yum list docker-ce --showduplicates | sort -r
安装指定版本
#yum install -y docker-ce-18.06.1.ce-3.el7
允许docker并linux服务器重启自启动
#systemctl start docker && systemctl enable docker
查看是否安装成功
#docker images
删除旧版本
#yum remove docker
docker-common
docker-selinux
docker-engine
搭建docker私服
在私服节点
#docker pull registry
#docker run -d -ti --restart always --name docker-registry -p 5000:5000 -v /data/docker/registry:/var/lib/registry registry
查看
#docker ps -a
因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报https错误。为了解决这个问题需要在启动docker server时增加启动参数为默认使用http访问。
在机器私服"/etc/docker/"目录下,创建"daemon.json"文件。并添加
#vi /etc/docker/daemon.json
{
#The recommended driver is “systemd”
“exec-opts”: [“native.cgroupdriver=systemd”],
#https
“insecure-registries”: [“192.168.1.181:5000”]
}
注意书写格式为json格式,有严格的书写要求;
第1行是国内镜像源
第2行是docker私有仓库地址;docker.erick.com(这里用的是域名也可以是IP)就是docker私有仓库的地址,添加后连接docker私有仓库就是用http协议了。
#vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 替换一下ExecStart=/usr/bin/dockerd
重启docker
systemctl daemon-reload
systemctl restart docker
查看私服中镜像:
curl http://192.168.1.181:5000/v2/_catalog
在其他节点使用私服镜像
#vi /etc/docker/daemon.json
{
#The recommended driver is “systemd”
“exec-opts”: [“native.cgroupdriver=systemd”],
#https
“insecure-registries”: [“192.168.1.181:5000”]
}
重启docker
systemctl daemon-reload
systemctl restart docker
pull私服中的镜像
docker pull
其他
我们内部环境的docker私服搭建完成。搭建好了这个环境,我们就可以去构造镜像并上传到私服,其他的服务使用docker镜像都可以从私服去获取。那么我们自己写的springboot怎么通过docker去构建呢?
版权声明: 本文为 InfoQ 作者【柠檬】的原创文章。
原文链接:【http://xie.infoq.cn/article/2feebeea897d030e6f130e570】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论