Ubuntu 16.04下Docker的安装与代理配置

最近想在测试环境下快速搭建一套gitlab ci环境,推进下项目组内规范化开发管理。自己在家里的nas上是用docker部署的gitlab,体验非常的好,正好ubuntu 16.04 lts发布了,也想借此机会接触下新版内核和systemd。

Ubuntu的安装

省略。唯一的问题是当前版本的官方镜像,选中文在安装阶段会报一个busybox的错误,换成英文就好了。

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)
  7. 给自己授个权,加到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.

  1. 启动docker:sudo systemctl start docker
  2. 设置开机自启动: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,可以用了~

你可能感兴趣的:(Ubuntu 16.04下Docker的安装与代理配置)