LoginSignup
6
6

More than 1 year has passed since last update.

Windows+Docker(Compose)でGitlabをローカルに立ち上げた時の話

Last updated at Posted at 2021-10-18

以前、アップしたWindows+Docker+GitLabを構築した時の話では、Push/Pullができませんでしたが、Docker-composeを使って結構楽ちんに設定ができたので、改めてそちらの手順を記載していきます。
(docker-composeについては、別でまとめて行きたいと思ってます。)

環境

  • Windows(10, ホスト)
  • Docker Desktop for Windows(20.10.8)
  • git(2.29.2.windows.2)

前提

  • Docker Desktop for Windowsインストール済
  • gitインストール済
  • ssh key発行済

参考

手順

1. docker-compose.ymlを作る

適当な作業フォルダを作成し、その中にdocker-compose.ymlを作ります。
(念のためymlはutf-8で作ってます)

docker-compose.yml
version: "3.9"
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: 'gitlab.example.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://web:8929'
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
    ports:
      - '8929:8929'
      - '2224:22'
      - '443:443'
    volumes:
      - '/srv/gitlab/config:/etc/gitlab'
      - '/srv/gitlab/logs:/var/log/gitlab'
      - '/srv/gitlab/data:/var/opt/gitlab'

2. コンテナを立ち上げる

まずは、cdコマンドで先ほど作成したymlファイルが置いてあるフォルダへ移動します。

windows@cmd
> cd {docker-compose.ymlが格納してあるフォルダ}

そして、念のためdocker-composeコマンドが有効化確認しましょう。
(確実に使用できる場合は、確認不要です。)

windows@cmd
> docker-compose -v
Docker Compose version v2.0.0

念願の起動の瞬間です。
バックグラウンドで実行されるので、2~3分ほど待ちましょう。

windows@cmd
> docker-compose up -d

3. アクセス

http://localhost:8929/もしくは、http://{ホスト名 or プライベートIP}:8929/でアクセスできます。
起動中だとこんな感じになります。

しばし待って更新すると・・・

ログイン画面が表示されます!

4. 初期設定

初回アクセスするとrootユーザーのパスワード設定画面が表示されるという記事があったのですが、
↑のスクショの通り、どうも普通のログイン画面っぽいです。
その時は、コンソールからパスワードを設定するしかない模様。

DockerコンソールからCLIを開きrailsコンソールを起動する

ホスト側のコマンドプロンプトが開きっぱなしならそれを開いて、docker-compose.ymlがあるフォルダまで移動します。
そのフォルダで下記コマンドを実行し、コンテナでコマンドを実行していきます。

windows@cmd
> docker-compose exec web bash

rails コンソールを起動する

docker@bash
# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]
 GitLab:       14.3.2 (92acfb1b8a9) FOSS
 GitLab Shell: 13.21.1
 PostgreSQL:   12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.3.2)

『>』以降のコマンドを実行する
下記は、パスワードを『password』に設定した例

docker@bash
irb(main):001:0> user = User.find(1)
=> #<User id:1 @root>
irb(main):002:0> user.password = 'password'
=> "password"
irb(main):003:0> user.password_confirmation='password'
=> "password"
irb(main):004:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: 0815a361-498c-4906-a307-7129eaf9f917) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007fa509bbe9b8 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true

IDに『root』、Passwordに先ほど設定した『password』を入力してログインすると、無事ログインできます。

5. git cloneを試す

Windows側でSSH Keyを生成しておき、Publicの方を登録します。
↓こんな感じになっていると思いますが、今回はSSHでCloneします。
ちなみにこのままだとCloneできないので、webのところをlocalhostもしくは、プライベートIPにする必要があります。

無事Cloneできました。

cloneはgitコマンドを使用しました。
gitコマンドがインストールされているかは、確認のうえ実行をお願いします。
Sourcetreeなどのツールを使ってもいけます。

> git --version
git version 2.29.2.windows.2

> git clone ssh://git@localhost:2224/root/test.git

あとがき

docker-composeは、この環境設定する際に初めて使ったのですが、シンプルでわかりやすく
『すげぇ・・・』って思いました。
しかしながら、ネットワーク周りはまだまだvagrantの方が吸収しやすいですね(個人の感想)

関連記事

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6