利用 Docker 部署项目到线上是一件便利的事情,但是 public 的项目无疑会带来诸多不便,private 帐号的费用又相对较高,所以利用自己已有的服务器资源来搭建一个 Docker 私服便是一件蛮有必要的事情。
前言
步骤很简单,准备一台 CentOS7 64 位的服务器,安装 Docker,安装 distribution(我们也称之为 Registry2.0,Registry1.0 版本的项目已经被官方弃用,ps:1.0 用的 python 语言,2.0 用的 Go 语言,某种程度上表现出 Go 语言的优秀...)。
然后再结合一下案例测试发布。
先上案例代码:simple-docker-demo
安装
登陆 CentOS,执行以下命令:
yum install docker
systemctl start docker
docker run hello-world
如果能够看到 docker 的 hello 信息,那么说明 docker 已经在运行了,接下来便是安装 distribution,步骤很简单,一条命令搞定:
docker run -d -p 5000:5000 --restart=always --name registry2 registry:2
然后这里请记录一下端口 5000,因为以后就是用这个端口来推拉 Docker 镜像。
发布
接下来测试案例的发布到私服
接下来的操作分两种场景,第一种在我们的本地 Mac,第二种是在 CentOS 服务器上的操作。
首先是在本地进行操作:
-
获取 simple-docker-demo 的代码
-
进入 docker-webc 目录
-
执行命令:
docker build -t liumapp/docker-webc:v1.0.0 .
-
修改 tag,请注意,这里的 your server ip 为 CentOS 服务器的 IP 地址:
docker tag liumapp/docker-webc:v1.0.0 ${your server ip}:5000/liumapp/docker-webc:v1.0.0
-
配置 Mac 的 docker,及配置 daemon.js(Mac 上可能需要在客户端的 preferences 下的 daemon 进行配置),添加:
"insecure-registries" : [ "${your-server-ip}:5000" ],
-
push
docker push ${your server ip}:5000/liumapp/docker-webc:v1.0.0
push 成功之后能够看到以下信息:
我们可以复制这段 sha 字符串,然后在服务器上使用 find 命令查找,结果如下:
到此,Docker 私服配置成功。
如果您觉得我的博客对您有帮助,欢迎关注我的 Github 帐号:liumapp
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于