gitlab docker-compose笔记

0x00:环境

docker的版本是升级后的。
root@ubuntu:~# docker version && lsb_release -a
Client:
 Version:      17.07.0-ce
 API version:  1.31
 Go version:   go1.8.3
 Git commit:   8784753
 Built:        Tue Aug 29 17:43:06 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.07.0-ce
 API version:  1.31 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   8784753
 Built:        Tue Aug 29 17:41:57 2017
 OS/Arch:      linux/amd64
 Experimental: false
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty

0x01:安装 docker-compose docker-machine

root@ubuntu:~# curl -L https://github.com/docker/compose/releases/download/1.16.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

root@ubuntu:~# curl -L https://github.com/docker/machine/releases/download/v0.12.2/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine
root@ubuntu:~# chmod +x /tmp/docker-machine &&
> sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

0x02:问题

1/docker-compose up命令提示compose api版本不一致,先用export声明一个变量,
root@ubuntu:~# docker-compose up
ERROR: client and server don't have same version (client : 1.21, server: 1.18)
2/声明变量
root@ubuntu:~# export COMPOSE_API_VERSION=1.18
client and server don't have same version (client : 1.21, server: 1.18)
3/这时不在提示上面的错误,但是提示如下错误,版本低于1.21.到此只能升级docker SDK 了。
root@ubuntu:~# /usr/local/bin/docker-compose up
/tmp/_MEIaNe0oM/docker/api/client.py:161: UserWarning: The minimum API version supported is 1.21, but you are using version 1.18. It is recommended you either upgrade Docker Engine or use an older version of Docker SDK for Python.
Traceback (most recent call last):
  File "bin/docker-compose", line 6, in 
  File "compose/cli/main.py", line 68, in main
  File "compose/cli/main.py", line 121, in perform_command
  File "compose/cli/main.py", line 938, in up
  File "compose/project.py", line 419, in up
  File "compose/project.py", line 468, in initialize
  File "compose/network.py", line 257, in initialize
  File "compose/network.py", line 61, in ensure
  File "compose/network.py", line 93, in inspect
  File "site-packages/docker/utils/decorators.py", line 31, in wrapper
docker.errors.InvalidVersion: inspect_network is not available for version < 1.21
Failed to execute script docker-compose

0x03:升级Docker SDK

这是搜到的一段Docker SDK升级的方法,直接粘贴执行即可。
echo "Checking current linux and docker version" && sleep 3 && \
docker version && lsb_release -a

echo "Purge lxc" && sleep 3 && \
apt-get autoremove --purge lxc

echo "Purge lxc*" && sleep 3 && \
apt-get purge lxc*

echo "Cleaning apt list" && sleep 3 && \
apt-get clean && rm -rf /var/lib/apt/lists/* && rm -rf /tmp/*

echo "Installing new docker version" && sleep 3 && \
curl -sSL https://get.docker.com/ | sh

升级完后由原来的1.21升级到API version:  1.31

0x04:问题

升级完后继续执行,还是提示如下错误
root@ubuntu:~# docker-compose up
inspect_network is not available for version < 1.21
声明1.31.再次执行成功。
root@ubuntu:~# export COMPOSE_API_VERSION=1.31

等compose结束,gitlab安装完成;浏览器访问gitlab
http://10.160.11.191:10080/users/confirmation/new

docker ps可以看到3个container
root@ubuntu:~# docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                   NAMES
0b76f966e4c3        sameersbn/gitlab:9.5.2       "/sbin/entrypoint...."   3 hours ago         Up 3 hours          443/tcp, 0.0.0.0:10022->22/tcp, 0.0.0.0:10080->80/tcp   root_gitlab_1
897425f2c1c4        sameersbn/postgresql:9.6-2   "/sbin/entrypoint.sh"    3 hours ago         Up 3 hours          5432/tcp                                                root_postgresql_1
0d0ed81d053c        sameersbn/redis:latest       "/sbin/entrypoint...."   3 hours ago         Up 3 hours          6379/tcp                                                root_redis_1

0x05:gitlab Quick Start 方法

Quick Start

The quickest way to get started is using docker-compose.

***wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml***
Generate random strings that are at least 64 characters long for each of GITLAB_SECRETS_OTP_KEY_BASE, GITLAB_SECRETS_DB_KEY_BASE, and GITLAB_SECRETS_SECRET_KEY_BASE. These values are used for the following:

GITLAB_SECRETS_OTP_KEY_BASE is used to encrypt 2FA secrets in the database. If you lose or rotate this secret, none of your users will be able to log in using 2FA.
GITLAB_SECRETS_DB_KEY_BASE is used to encrypt CI secret variables, as well as import credentials, in the database. If you lose or rotate this secret, you will not be able to use existing CI secrets.
GITLAB_SECRETS_SECRET_KEY_BASE is used for password reset links, and other 'standard' auth features. If you lose or rotate this secret, password reset tokens in emails will reset.
Tip: You can generate a random string using pwgen -Bsv1 64 and assign it as the value of GITLAB_SECRETS_DB_KEY_BASE.
Start GitLab using:

**docker-compose up**
Alternatively, you can manually launch the gitlab container and the supporting postgresql and redis containers by following this three step guide.

Step 1. Launch a postgresql container

docker run --name gitlab-postgresql -d \
    --env 'DB_NAME=gitlabhq_production' \
    --env 'DB_USER=gitlab' --env 'DB_PASS=password' \
    --env 'DB_EXTENSION=pg_trgm' \
    --volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \
    sameersbn/postgresql:9.6-2
Step 2. Launch a redis container

docker run --name gitlab-redis -d \
    --volume /srv/docker/gitlab/redis:/var/lib/redis \
    sameersbn/redis:latest
Step 3. Launch the gitlab container

docker run --name gitlab -d \
    --link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
    --publish 10022:22 --publish 10080:80 \
    --env 'GITLAB_PORT=10080' --env 'GITLAB_SSH_PORT=10022' \
    --env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
    --env 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \
    --env 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \
    --volume /srv/docker/gitlab/gitlab:/home/git/data \
    sameersbn/gitlab:9.5.2
Please refer to Available Configuration Parameters to understand GITLAB_PORT and other configuration options

NOTE: Please allow a couple of minutes for the GitLab application to start.

Point your browser to http://localhost:10080 and set a password for the root user account.

You should now have the GitLab application up and ready for testing. If you want to use this image in production then please read on.

The rest of the document will use the docker command line. You can quite simply adapt your configuration into a docker-compose.yml file if you wish to do so.

0x06:参考
https://github.com/sameersbn/docker-gitlab/blob/master/README.md#installation

https://github.com/moby/moby/issues/16059

https://stackoverflow.com/questions/29727171/docker-compose-up-leads-to-client-and-server-dont-have-same-version-client

你可能感兴趣的:(gitlab docker-compose笔记)