Skip to content

使用Docker搭建gitlab

Mr.wu edited this page May 12, 2017 · 3 revisions

安装Docker

在bash中输入命令安装最新的docker

sudo apt-get purge docker.io
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update
sudo apt-get install lxc-docker

下载镜像

以下脚本会下载gitlab,MySQL,Redis镜像

sudo docker pull sameersbn/gitlab:latest
sudo docker pull sameersbn/mysql:latest 
sudo docker pull sameersbn/redis:latest

启动redis

sudo docker run \
  --name=gitlab_redis \
  -tid \
  sameersbn/redis:latest

启动mysql

sudo mkdir -p /opt/gitlab/mysql
sudo docker run \
  --name=gitlab_mysql \
  -tid \
  -e 'DB_NAME=gitlabhq_production' \
  -e 'DB_USER=gitlab' \
  -e 'DB_PASS=password' \
  -v /opt/gitlab/mysql:/var/lib/mysql \
  sameersbn/mysql:latest

启动gitlab

sudo mkdir -p /opt/gitlab/data /opt/gitlab/log
sudo docker run \
  --name='gitlab' \
  -itd \
  --link gitlab_mysql:mysql \
  --link gitlab_redis:redisio \
  -e 'GITLAB_PORT=80' \
  -e 'GITLAB_SSH_PORT=22' \
 -e GITLAB_SECRETS_DB_KEY_BASE=Hfr3TMvvMWWgjd3VvJmfJxfstfzNWC9PzKT3dvmKCNHH3Rjc7kjXsLHsj7hJK7HC \
 -e GITLAB_SECRETS_SECRET_KEY_BASE=vMWWgjd3VvJmfJxfstfzNWC9PzKT3dvmKCNHH3Rjc7kjXsLHsj \
 -e GITLAB_SECRETS_OTP_KEY_BASE=WWgjd3VvJmfJxfs \
  -p 10022:22 -p 10080:80 \
  -v /var/run/docker.sock:/run/docker.sock \
  -v $(which docker):/bin/docker \
  -v /opt/gitlab/data:/home/git/data \
  -v /opt/gitlab/log:/var/log/gitlab \
  sameersbn/gitlab:latest

错误

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

使用命令

sudo service docker start
or
sudo service docker stop
sudo rm -rf /var/lib/docker
sudo service docker start

这一步骤会耗时几分钟,因为这一步会做一些初始化操作,我们可以通过sudo docker logs gitlab来查看安装过程。 我们指定了10022作为ssh的访问端口,10080作为http的访问端口, 执行完后,稍微过1-2分钟后,打开以下地址应该就可以访问gitlab了 http://localhost:10080 如果是在服务器上搭建,请替换localhost为服务器地址

遇到错误

docker: Error response from daemon: Conflict. The container name "/gitlab" is already in use by container "8ede5220bdbe2d32b5534f9727095c369a0ca128f9fd7a05bacb15cf51cad942". You have to remove (or rename) that container to be able to reuse that name.

使用命令

sudo docker rm -f gitlab

加入开机启动

加入/etc/rc.local

echo 'docker start gitlab_redis' >> /etc/rc.local
echo 'docker start gitlab_mysql' >> /etc/rc.local
echo 'docker start gitlab' >> /etc/rc.local

参考:
https://my.oschina.net/gudaoxuri/blog/527152
http://blog.csdn.net/baisnsf/article/details/46764133
https://hub.docker.com/r/sameersbn/gitlab/

Home

Android 开发录

-深入理解LayoutInflater.inflate()的参数

计算机网络原理

数据库

Java 垃圾回收机制

Java 开发录

面试

搭建翻墙shadowsocks 教程

其他

Clone this wiki locally