安裝docker..
- apt install docker.io -- 結果是 19.03.6
- 把 user 加到 docker 群組,解決permission denied 問題
開始create gitlab image..
docker pull gitlab/gitlab-ce docekr run --detach --publish 8787:80 --name gitlab gitlab/gitlab-ce因為是 detach,所以 run as daemon..
用 docker ps 來看..,只
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4d9e7128295e gitlab/gitlab-ce "/assets/wrapper" 8 seconds ago Up 3 seconds (health: starting) 22/tcp, 443/tcp, 0.0.0.0:8787->80/tcp gitlab這時候,開啟 ip:8787 是不通的..
後來用
docker attach gitlab進去後,會看到他在 run starting sequence 的 output,代表還沒啟動完畢...
大約等 4 min 之後,好像完成了. 其實在 1 min 的時候,http 頁面出現 502..
-- attach 一個啟動時是 daemonize 的 container,好像退不出來... 所以用 docker logs -f gitlab之後用 any-host-ip:8787 舊可以access 到 gitlab login 畫面了。
第一個是 password 畫面,要你輸入 root 的 password,有最短限制,(所以用 full-name without '-')
之後的登入話面舊可以用 root 登入。
用 docker stop 停止後,再用 docker start 啟動的話,只要約 1min 舊可以正常 access..
以上是參考簡易教學 — 利用 Docker 架設 Gitlab 做的,文章沒有安裝 docker package 的部份,原來是安裝docker.io (ubuntu default package),後來因為不了解開機需要、時間,以為是 docker package 的問題。所以加入 download.docker.com repo,改裝 docker-ce 做的。
接下參考三秒教你用 Docker 安裝 GitLab,把 config. log. data 從 container image 中分離出來。
更新。
新的版本,第一次啟動已經不是 root password 了。
所以參考這一篇,在 container 中run bash,開啟 sql 設定 rooot password:
$ docker exec -it gitlab bash root@1b10f96444f4:/# gitlab console -e production Unknown command. Run `gitlab help` for a list of available commands. root@1b10f96444f4:/# gitlab-rails console -e production -------------------------------------------------------------------------------- Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux] GitLab: 14.8.2 (c7be43f6dd3) FOSS GitLab Shell: 13.23.2 PostgreSQL: 12.7 ------------------------------------------------------------[ booted in 20.47s ] Loading production environment (Rails 6.1.4.6) irb(main):001:0> user = User.where(id: 1).first => #<User id:1 @root> irb(main):002:0> user.password = 'charles' => "charles" irb(main):003:0> user.password_confirmation = 'charles' => "charles" irb(main):004:0> user.save => false irb(main):005:0> user.password = 'charles123' => "charles123" irb(main):006:0> user.password_confirmation = 'charles123' => "charles123" irb(main):007:0> user.save => true irb(main):008:0> exit root@1b10f96444f4:/#exit exit
其實用 deb 安裝完 gitlab-ce 後..
efault admin account has been configured with following details: Username: root Password: You didn't opt-in to print initial root password to STDOUT. Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.所以,應該去這裡(/etc/gitlab/initial_root_password) 看...
官方的應該是 .. gitlab docker,有啟動,hostname, password 的設置。
sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/logs:/var/log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ --shm-size 256m \ gitlab/gitlab-ee:latest要先export GITLAB_HOME
另外,lfs 要enable 要修改 gitlab.rb。
沒有留言:
張貼留言