mkdir /opt/gitlab
mkdir /opt/gitlab/config
mkdir /opt/gitlab/data
mkdir /opt/gitlab/logs
chmod -R 777 /opt/gitlab/
export GITLAB_HOME=/opt/gitlab
docker pull gitlab/gitlab-ce:latest
运行镜像时,hostname应该是宿主机内网的IP地址
docker run --detach \
--hostname 172.21.97.71 \
--publish 8043:443 --publish 8089:80 --publish 8022: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-ce:latest
两种方法,可以进入容器内部修改,也可在容器外的配置文件中修改
docker exec -it gitlab /bin/bash
vi /etc/gitlab/gitlab.rb
配置如下内容,这里需要注意的是,此处配置的是gitlab在容器内运行的端口,不是映射端口,如果改了这里的端口,那么创建gitlab时的docker命令,就要更改端口为对应的端口,eg:8089:更改后的端口
external_url 'http://172.21.97.71:80'
然后再配置SSH推送的端口
gitlab_rails['gitlab_ssh_host'] = '172.21.97.71'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
重新运行gitlab
gitlab-ctl reconfigure
启动成功后执行exec退出容器
启动容器时,我们使用volume指令将config目录挂载到了宿主机,进入/opt/gitlab/config目录,下面也有一个gitlab.rb文件,进行编辑,添加内容
external_url 'http://172.21.97.71:80'
gitlab_rails['gitlab_ssh_host'] = '172.21.97.71'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
执行docker restart gitlab命令重启容器即可
默认用户为root
默认密码通过如下指令查看
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password