最近想在测试环境下快速搭建一套gitlab ci环境,推进下项目组内规范化开发管理。自己在家里的nas上是用docker部署的gitlab,体验非常的好,正好ubuntu 16.04 lts发布了,也想借此机会接触下新版内核和systemd。
Ubuntu的安装
省略。唯一的问题是当前版本的官方镜像,选中文在安装阶段会报一个busybox的错误,换成英文就好了。
Docker的安装
Docker的官方文档一向给力,16.04 LTS才发布了一周就已经及时的更新了的安装文档,基本上跟14.04没有差别:
安装docker 官方apt源公钥:
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
添加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
更新下apt列表:
sudo apt-get update
官方文档里提到16.04 LTS需要安装下内核补丁,但是执行完命令后发现其实已经都装好了:
sudo apt-get install linux-image-extra-$(uname -r)
安装docker:
sudo apt-get install docker-engine
验证下安装的结果:
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.
启动docker:
sudo systemctl start docker
设置开机自启动:
sudo systemctl start docker
systemd看起来还是挺简单的,服务管理反而比之前service、chkconfig要好用,直到…
因为需要通过代理连接docker hub,按照之前的经验直接配置了/etc/default/docker
, 结果不管用…
各种测试、验证代理,直到在这个文件里看到了这么一样注释:# THIS FILE DOES NOT APPLY TO SYSTEMD
。还好注释后面给了一个链接,阅读了下发现systemd配置是不一样的。
具体原理等熟悉了systemd的操作后再研究,先make it work:
创建一个配置文件
/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,可以用了~
作者:ltye
链接:https://www.jianshu.com/p/2e0c9ed5433d