环境:Ubuntu18.04 Server
Gitlab镜像版本:gitlab/gitlab-ce:13.10.3-ce.0
1.修改镜像源
首先修改docker源为国内镜像源
vim /etc/docker/daemon.json #没有该文件时则创建该目录及文件
修改或复制以下内容至daemon.json
{
"registry-mirrors" : [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://cr.console.aliyun.com/"
]
}
重启docker服务
systemctl restart docker.service
2.拉取docker镜像
此处选择gitlab 13.10.3版本
docker pull gitlab/gitlab-ce:13.10.3-ce.0
拉取完成后可输入如下命令查看docker镜像:
docker images
3.创建容器(重点)
docker run --detach --hostname 192.168.3.18 \
--publish 443:443 \
--publish 8000:80 \
--publish 8022:22 \
--name gitlab \
--restart always \
--volume /gitlab_dir/gitlab/config:/etc/gitlab \
--volume /gitlab_dir/gitlab/logs:/var/log/gitlab \
--volume /gitlab_dir/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:13.10.3-ce.0
命令解释:
–hostname:设置主机名或域名,此处为192.168.3.18
–publish:端口映射(主机端口:容器端口)
–restart:设置重启方式,always 代表一直开启,服务器开机后也会自动开启的
–volume:目录映射(主机目录:容器目录)
可能出现的错误:提示所挂载的目录为只读系统
mkdir /gitlab_dir ……read-only filesystem
出现这种情况大概率是因为服务器的docker-ce是通过snap装的,snap安装的docker只允许挂载在安装用户有写入权限的文件夹下,例如挂载在/home/user1/下。最好的解决方式是卸载snap的docker,重新通过apt的方式安装docker。
创建完成后需要等待容器启动,如果直接打开网页,会出现无法显示的页面。
可以用watch配合docker函数确定容器是否启动。
watch -n 1 docker container ls
容器启动中时,状态显示为(health:starting)
启动完成后,状态显示为(health:healthy)
此时可以进入页面(本案例为192.168.3.18:8000)
配置完成!