GitLab Docker images

參考於https://docs.gitlab.com/omnibus/docker/

CentOS版本

$ cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core)

1.下載GitLab鏡像

$ sudo docker pull gitlab/gitlab-ce

$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
gitlab/gitlab-ce    latest              c90133431e91        2 weeks ago         1.31GB

本人因爲內網,需要設置代理。
創建目錄/etc/systemd/system/docker.service.d ,並創建http-proxy.conf文件,輸入以下內容:

$ cat /etc/systemd/system/docker.service.d/http-proxy.conf 
[Service]
#proxyServer爲代理服務器地址
Environment="HTTP_PROXY=http://proxyServer:PORT" 
Environment="HTTPS_PROXY=http://proxyServer:PORT"

2.啓動容器,運行鏡像

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 443:443 --publish 80:80 --publish 22:22 \
    --name gitlab \
    --restart always \
    --volume ~/gitlab/config:/etc/gitlab \
    --volume ~/gitlab/logs:/var/log/gitlab \
    --volume ~/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

如果你的機器上selinux正在運行,則用下面的方式啓動。

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 443:443 --publish 80:80 --publish 22:22 \
    --name gitlab \
    --restart always \
    --volume ~/gitlab/config:/etc/gitlab:Z \
    --volume ~/gitlab/logs:/var/log/gitlab:Z \
    --volume ~/gitlab/data:/var/opt/gitlab:Z \
    gitlab/gitlab-ce:latest
  • --detach 在後臺運行並打印容器ID
  • --hostname 設置GitLab的訪問域名,也就是說,必須通過gitlab.example.com才能訪問(本機IP和主機名在本機瀏覽器上也不能訪問????反正我的能),該域名需要在DNS中進行域名映射,將該域名映射到GitLab所在服務器的IP地址上
    參考自<<架構探險-輕量級微服務架構>>(黃勇 著)
  • --restart always 爲始終重啓。默認爲no,不重啓,on-failure爲容器狀態非0時重啓
  • --volume 指定目錄映射
本地位置 容器位置 用途
~/gitlab/config /etc/gitlab 配置目錄
~/gitlab/logs /var/log/gitlab 日誌目錄
~/gitlab/data /var/opt/gitlab 數據目錄
  • -p 22便是ssh端口(如果本機的ssh服務正在運行中,則容器只能創建,不能運行。本人直接把ssh服務停止了),80表示http端口,443表示https端口(默認不開啓)

查看selinux狀態

$ sestatus
#配置文件:/etc/selinux/config,SELINUX=disabled禁用selinux,修改後需重啓系統
SELinux status:                 enabled 
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

查看容器運行狀態:

$ sudo docker ps -a
CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                             PORTS                                                          NAMES
3c3188c3b411        gitlab/gitlab-ce:latest   "/assets/wrapper"   11 seconds ago      Up 10 seconds (health: starting)   0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   gitlab

4.容器管理

  • 重啓 sudo docker restart gitlab
$ sudo docker exec -it gitlab bash
root@gitlab:/# gitlab-ctl reconfigure
  • 停止 $ sudo docker stop gitlab
  • 刪除 $ sudo docker rm gitlab

你可能感兴趣的:(GitLab Docker images)