使用Docker + nginx-proxy创建GitLab CI环境(1)
我是从未真正使用过Jenkins或类似工具的人,但由于我渴望轻松构建和使用CI环境,所以我决定尝试一下以前稍微接触过的使用Docker构建的GitLab CI。顺便问一下,GitLab CI的知名度很低吗?
GitLab CI的介绍网页:https://about.gitlab.com/gitlab-ci/
顺便提一下,GitLab 7之前的版本安装起来不会太麻烦,但是要安装GitLab CI就比较困难了。这次我们将使用集成了CI环境的版本8以及更高版本,并使用Docker来进行构建,以便更轻松地完成搭建。
请参考这里的 Docker 安装方式。
在AWS/EC2中安装CentOS7并创建一个Docker主机,第一部分。
2016年11月11日后续添加
使用Docker和nginx-proxy来搭建带有Let’s Encrypt的GitLab环境
由于写了这篇新文章,请与这里的帖子一起阅读。
搭建nginx-proxy。
如果搭建GitLab,我不喜欢每次都要指定不清楚的端口号来访问WEB页面,所以我会搭建nginx-proxy来以智能的方式使用子域名等进行访问。
为了进行nginx-proxy的运维,需要启动nginx容器和docker-gen容器,因此需要使用docker-compose进行统一管理。
使用 Docker + nginx-proxy + PHP7 on Apache + MySQL5.7 来创建 WordPress 的环境 第一部分
在之前的帖子中,我们分别启动了两个容器。但是这一次,我们要做的事情除了使用 docker-compose 之外,几乎都是相同的。
创建一个名为/var/docker/nginx的任意目录,并将设置文件放入其中。然后创建一个名为/var/docker/nginx/templates的目录,并将nginx-proxy的模板文件放入其中,然后下载模板文件。
[docker-op@docker-base ~]$ mkdir -p /var/docker/nginx && cd /var/docker/nginx
[docker-op@docker-base nginx]$ mkdir templates && cd templates
[docker-op@docker-base template]$ curl -o nginx.tmpl https://raw.githubusercontent.com/jwilder/docker-gen/master/templates/nginx.tmpl
(出力略)
[docker-op@docker-base template]$ cd ..
然后,创建一个包含nginx容器和docker-gen容器组合的docker-compose.yml文件。
[docker-op@docker-base nginx]$ vi docker-compose.yml
nginx:
image: nginx:latest
container_name: nginx
volumes:
- /tmp/nginx:/etc/nginx/conf.d
ports:
- "80:80"
docker-gen:
image: jwilder/docker-gen:latest
container_name: docker-gen
volumes_from:
- nginx
volumes:
- /var/run/docker.sock:/tmp/docker.sock
- /var/docker/nginx/templates:/etc/docker-gen/templates
links :
- nginx
command: "-notify-sighup nginx -watch --only-published /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf"
接下来,使用docker-compose命令启动nginx和docker-gen两个容器。确认后可以看到已经成功启动了两个容器。
[docker-op@docker-base nginx]$ docker-compose up -d
[docker-op@docker-base nginx]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
60900fa566ee jwilder/docker-gen:latest "/usr/local/bin/docke" 17 minutes ago Up 17 minutes docker-gen
83fbebe4d069 nginx:latest "nginx -g 'daemon off" 17 minutes ago Up 17 minutes 0.0.0.0:80->80/tcp, 443/tcp nginx
由于篇幅较长,接下来延续上文。
用Docker和nginx-proxy创建GitLab CI环境(2)
http://qiita.com/ABE_TAKASHI/items/deb516d44459eb901961