Docker 私有化部署终于成了!

昨天突然腾讯把原来的docker镜像加速关闭了,居然把mirror.ccs.tencentyun.com的域名解析给关闭了(在这里鄙视一下腾讯)。在网上找半天,想找到一个合适的镜像加速来解决,找到一个还能凑合用的。

这个也不稳定,于是便考虑还是要自己私有化部署一个看看,在网上找了好多信息,说私有化部署很简单,

先部署一个Docker Registry的容器:

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry --restart always --name registry registry:latest

然后在/etc/docker/daemon.json插入:

{
    "insecure-registries": ["192.68.0.60:5000"]
}

就可以完成私有化部署了。兴高采烈在服务器上折腾一通,想着这么简单也就几分钟折腾完了。后面没想到真正上到代码上打包才发现,每次docker build的时候,依旧跑去公网拉取镜像,不是已经在私有化的服务器上下载。

要把这个基础镜像在私有化的服务器上pull下来。

docker pull anapsix/alpine-java:8_server-jre_unlimited

做标记

docker tag anapsix/alpine-java:8_server-jre_unlimited 192.68.0.60:5000/anapsix/alpine-java:8_server-jre_unlimited

再把这个镜像推送到私有注册表

docker push 192.68.0.60:5000/anapsix/alpine-java:8_server-jre_unlimited

推送完成之后,检查一下是否已经正确上传到私有注册表:

curl http://192.68.0.60:5000/v2/anapsix/alpine-java/tags/list

做完这些之后,如果要在私有服务器上拉取基础镜像,就需要修改代码里面的Dockerfile

FROM 192.68.0.60:5000/anapsix/alpine-java:8_server-jre_unlimited

ADD target/app-0.0.1-SNAPSHOT.jar app.jar

ENTRYPOINT ["java", "-jar", "/app.jar"]

以上就是整个私有化部署的过程,其实不难,主要是有些步骤会忘记做,造成在docker build的过程中会去拉取公网的基础镜像,比如没有做镜像推送到私有注册表,就会出现去请求http的过程中要求https的握手错误。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值