1. Pulling images in China is relatively slow, so the DaoCloud source is used here.
# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://43049fd0.m.daocloud.io
2. Pull the image
# docker pull twang2218/gitlab-ce-zh
3. Start the container
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. Explanation of command parameters
--hostname 指定容器中绑定的域名,会在创建镜像仓库的时候使用到,这里绑定git.xiaohuruwei.com --publish 端口映射,冒号前面是宿主机端口,后面是容器expose出的端口 --volume volume 映射,冒号前面是宿主机的一个文件路径,后面是容器中的文件路径
5. Local access address
git.xiaohuruwei.com
Note: When you open it for the first time, you need to set a password. The default username is root.
ssh access
Because it is deployed using docker, access through ssh (such as git clone git@git.xiaohuruwei.com) will have two layers of authentication:
The first layer is the certification of the freelancer server
The other layer is gitlab certification.
The latter requires the use of ssh-key
The former may require the reverse proxy of ssh itself (the nginx currently used does not support reverse proxies other than http and https),
Now I find it difficult to use port forwarding, but you can change the default gitlab ssh port to a non-standard port:
Directly modify the variables in the gitlab configuration file:
gitlab_shell_ssh_port = 2222
Then restart the docker container, you can see the corresponding ssh address has changed in the web interface: ssh://git@git.xiaohuruwei.com:2222/root/test.git Then you can continue to use it directly git clone to continue the operation
The above is the detailed content of Detailed explanation of using docker to deploy GitLab CE Chinese version application on CentOS 7. For more information, please follow other related articles on the PHP Chinese website!