前言
最近想在测试环境下快速搭建一套gitlab ci环境,推进下项目组内规范化开发管理。自己在家里的nas上是用docker部署的gitlab,体验非常的好,正好ubuntu 16.04 lts发布了,也想借此机会接触下新版内核和systemd。
Ubuntu的安装
这里就省略不介绍了。唯一的问题是当前版本的官方镜像,选中文在安装阶段会报一个busybox的错误,换成英文就好了。
大家也可以参考这篇文章:https://www.jb51.net/article/100919.htm,里面介绍的也非常详细。
Docker的安装
Docker的官方文档一向给力,16.04 LTS才发布了一周就已经及时的更新了的安装文档,基本上跟14.04没有差别:
1、安装docker 官方apt源公钥:sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
2、添加apt源:sudo touch /etc/apt/sources.list.d/docker.list && echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" /etc/apt/sources.list.d/docker.list
3、更新下apt列表:sudo apt-get update
4、官方文档里提到16.04 LTS需要安装下内核补丁,但是执行完命令后发现其实已经都装好了:sudo apt-get install linux-image-extra-$(uname -r)
5、安装docker:sudo apt-get install docker-engine
6、验证下安装的结果:yi@tsenv-vcs:~$ docker -vDocker version 1.11.1, build 5604cbe
(哟,已经到1.11版了,赶紧去看看release note)
给自己授个权,加到docker组里,这样不需要每次执行docker前都加个sudo了:sudo usermod -aG docker yi
。官方非常明确的给出了warning,这个命令还是要谨慎:
Warning: The docker group is equivalent to the root user; For details on how this impacts security in your system, see Docker Daemon Attack Surface for details.
7、启动docker:sudo systemctl start docker
8、设置开机自启动:sudo systemctl start docker
systemd看起来还是挺简单的,服务管理反而比之前service、chkconfig要好用,直到…
因为需要通过代理连接docker hub,按照之前的经验直接配置了/etc/default/docker, 结果不管用…
各种测试、验证代理,直到在这个文件里看到了这么一样注释:# THIS FILE DOES NOT APPLY TO SYSTEMD。还好注释后面给了一个链接,阅读了下发现systemd配置是不一样的。
具体原理等熟悉了systemd的操作后再研究,先make it work:
1、创建一个配置文件/etc/systemd/system/docker.service.d/http-proxy.conf,添加如下配置:
Environment="HTTP_PROXY=http://xxxxxxxx:1080"
2、刷新配置:sudo systemctl daemon-reload
3、验证下配置是否正常加载:systemctl show --property=Environment docker
4、重启docker:sudo systemctl restart docker
配置gitlab
先把gitlab配置起来,gitlab-ci、jenkins稍后再做研究。docker hub上搜索了下,选择了sameersbn/gitlab这个镜像,比官方的文档更友好,更新也不错,最重要的是提供了docker-compose构建。
1、得先安装docker-compose, 这个比较简单,可以直接下载:sudo curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-uname -s-uname -m> /usr/local/bin/docker-compose
,然后加个权限sudo chmod +x /usr/local/bin/docker-compose
2、创建一个专用目录,下载compose文件:wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml
3、启动:docker-compose up -d
这里比文档上多了一个-d的参数,是以daemon进程启动。
4、直接访问http://ip地址:10080,可以用了~
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。