1. ホーム
  2. オペレーティングシステム
  3. レッドハット/セントス

centos7 dockerを使ったgitlab-ce-zhアプリケーションのデプロイについて解説します。

2022-01-16 01:14:03

1. 国内のプルミラーは遅いので、ここではDaoCloudのソースを使用します。

# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://43049fd0.m.daocloud.io

2. ミラーを引っ張る

# docker pull twang2218/gitlab-ce-zh

3. コンテナを起動する

docker run --detach \
    --hostname git.xiaohuruwei.com \
    --publish 8443:443 --publish 8080:80 --publish 2222:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/gitlab/data:/var/opt/gitlab \
    twang2218/gitlab-ce-zh:latest

4. コマンドパラメータの説明

--hostname
Specify the domain name bound in the container, which will be used when creating the mirror repository, here it is bound to git.xiaohuruwei.com
 
--publish
Port mapping, before the colon is the host port, after that is the container expose port
 
--volume
volume mapping, a file path of the host in front of the colon, followed by the file path of the container

5. ローカルアクセスアドレス

git.xiaohuruwei.com

注)初めて開くときは、パスワードを設定する必要があります。デフォルトのユーザー名はrootです。

sshによるアクセス

dockerを使用してデプロイされているため、ssh経由のアクセス(例:git clone [email protected])では2重の認証が発生します。

1層は、フリーランサーサーバーの認証

もう1つのレイヤーはgitlabの認証です。

後者では、ssh-keyの使用が必要です。

前者はssh自体のリバースプロキシが必要な場合がある(現在使用しているnginxはhttp, https以外のリバースプロキシに対応していない)。

現在では、ポート転送の形式をとることは難しくなっていることが分かっていますが、デフォルトの gitlab ssh ポートを標準以外のものに変更することは可能です。

gitlabの設定ファイルの変数を直接修正する:その

gitlab_shell_ssh_port = 2222

その後、dockerコンテナを再起動し、就可以在web界面中看到相应的ssh地址发生了改变:ssh://[email protected]:2222/root/test.git、そのままgit cloneで作業を続行します。