Docker 安装实例

在动手安装了一遍 GitLab 之后,发现了一篇利用 docker-compose 安装的文章,测试了一下,可行,完善了一下和大家分享分享。

1、准备工作 

yum install -y epel-release    //安装扩展源,装pip

yum install -y docker  Python-pip   //安装docker和pip

pip install docker-compose

mkdir -p /opt/data/docker_gitlab/{gitlab,postgresql,redis}  //创建数据存储目录

2、下载搭建gitlab的相关镜像 

docker pull buj7itru.mirror.aliyuncs.com/sameersbn/gitlab:latest

docker pull buj7itru.mirror.aliyuncs.com/sameersbn/postgresql:9.5-3

docker pull buj7itru.mirror.aliyuncs.com/sameersbn/redis:latest

Docker 安装实例

3、创建docker-compose文件,配置内容如下(注意 yml 的格式,别照抄)

version: '2'

services:
    redis:
        restart: always
        image: sameersbn/redis:latest
        command:
        - --loglevel warning
        volumes:
        - /opt/data/docker_gitlab/redis:/var/lib/redis:Z
   
    postgresql:
        restart: always
        image: sameersbn/postgresql:9.5-3
        volumes:
        - /opt/data/docker_gitlab/postgresql:/var/lib/postgresql:Z
        environment:
        - DB_USER=gitlab
        - DB_PASS=password
        - DB_NAME=gitlabhq_production
        - DB_EXTENSION=pg_trgm
   
    gitlab:
        restart: always
        image: sameersbn/gitlab:8.13.5
        depends_on:
        - redis
        - postgresql
        ports:
        - "10080:80"
        - "10022:22"
        volumes:
        - /opt/data/docker_gitlab//gitlab:/home/git/data:Z
        environment:
        - DEBUG=false
       
        - DB_ADAPTER=postgresql
        - DB_HOST=postgresql
        - DB_PORT=5432
        - DB_USER=gitlab
        - DB_PASS=password
        - DB_NAME=gitlabhq_production
       
        - REDIS_HOST=redis
        - REDIS_PORT=6379
       
        - TZ=Asia/Kolkata
        - GITLAB_TIMEZONE=Kolkata
       
        - GITLAB_HTTPS=false
        - SSL_SELF_SIGNED=false
       
        - GITLAB_HOST=localhost
        - GITLAB_PORT=10080
        - GITLAB_SSH_PORT=10022
        - GITLAB_RELATIVE_URL_ROOT=
        - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
        - GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
        - GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string
       
        - GITLAB_ROOT_PASSWORD=
        - GITLAB_ROOT_EMAIL=
       
        - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
        - GITLAB_NOTIFY_PUSHER=false
       
        - [email protected]
        - [email protected]
        - [email protected]
       
        - GITLAB_BACKUP_SCHEDULE=daily
        - GITLAB_BACKUP_TIME=01:00
       
        - SMTP_ENABLED=false
        - SMTP_DOMAIN=www.example.com
        - SMTP_HOST=smtp.gmail.com
        - SMTP_PORT=587
        - [email protected]
        - SMTP_PASS=password
        - SMTP_STARTTLS=true
        - SMTP_AUTHENTICATION=login
       
        - IMAP_ENABLED=false
        - IMAP_HOST=imap.gmail.com
        - IMAP_PORT=993
        - [email protected]
        - IMAP_PASS=password
        - IMAP_SSL=true
        - IMAP_STARTTLS=false
       
        - OAUTH_ENABLED=false
        - OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
        - OAUTH_ALLOW_SSO=
        - OAUTH_BLOCK_AUTO_CREATED_USERS=true
        - OAUTH_AUTO_LINK_LDAP_USER=false
        - OAUTH_AUTO_LINK_SAML_USER=false
        - OAUTH_EXTERNAL_PROVIDERS=
       
        - OAUTH_CAS3_LABEL=cas3
        - OAUTH_CAS3_SERVER=
        - OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false
        - OAUTH_CAS3_LOGIN_URL=/cas/login
        - OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate
        - OAUTH_CAS3_LOGOUT_URL=/cas/logout
       
        - OAUTH_GOOGLE_API_KEY=
        - OAUTH_GOOGLE_APP_SECRET=
        - OAUTH_GOOGLE_RESTRICT_DOMAIN=
       
        - OAUTH_FACEBOOK_API_KEY=
        - OAUTH_FACEBOOK_APP_SECRET=
       
        - OAUTH_TWITTER_API_KEY=
        - OAUTH_TWITTER_APP_SECRET=
       
        - OAUTH_GITHUB_API_KEY=
        - OAUTH_GITHUB_APP_SECRET=
        - OAUTH_GITHUB_URL=
        - OAUTH_GITHUB_VERIFY_SSL=
       
        - OAUTH_GITLAB_API_KEY=
        - OAUTH_GITLAB_APP_SECRET=
       
        - OAUTH_BITBUCKET_API_KEY=
        - OAUTH_BITBUCKET_APP_SECRET=
       
        - OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
        - OAUTH_SAML_IDP_CERT_FINGERPRINT=
        - OAUTH_SAML_IDP_SSO_TARGET_URL=
        - OAUTH_SAML_ISSUER=
        - OAUTH_SAML_LABEL="Our SAML Provider"
        - OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient
        - OAUTH_SAML_GROUPS_ATTRIBUTE=
        - OAUTH_SAML_EXTERNAL_GROUPS=
        - OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
        - OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
        - OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
        - OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=
       
        - OAUTH_CROWD_SERVER_URL=
        - OAUTH_CROWD_APP_NAME=
        - OAUTH_CROWD_APP_PASSWORD=
       
        - OAUTH_AUTH0_CLIENT_ID=
        - OAUTH_AUTH0_CLIENT_SECRET=
        - OAUTH_AUTH0_DOMAIN=
       
        - OAUTH_AZURE_API_KEY=
        - OAUTH_AZURE_API_SECRET=
        - OAUTH_AZURE_TENANT_ID=

4、利用docker-compose创建docker服务

docker-compose up     //创建一个新的容器,因为没用 -d 放到后台,出现下面即启动成功了

docker-compose:定义和运行复杂应用的小工具,一行命令执行文件中多个容器,取代了fig。

Docker 安装实例

Docker 安装实例

5、登入测试

由于在compose文件中,我映射了10080端口,我们可以利用这个端口登录,页面会提示你修改密码,之后以root用户与你修改后的密码登录系统即可:

Docker 安装实例

6、重启  

因为我是虚拟机,我把机器关了之后,gitlab没自己起来,所以得手动重启一下

docker start 8e7eed2eb4b6 dcac84b99eea 14ae75b44b4e  //启动容器即可

更多Docker相关教程见以下内容

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里

相关推荐