1、安装
docker search docker
docker images
docker run -d \ --hostname gitlab \ --name gitlab \ --restart always \ -p 20443:443 -p 20080:80 -p 20022:22 \ -v /mihuu/data/gitlab/config:/etc/gitlab \ -v /mihuu/data/gitlab/logs:/var/log/gitlab \ -v /mihuu/data/gitlab/data:/var/opt/gitlab \ -v /mihuu/data/gitlab/logs/reconfigure:/var/log/gitlab/reconfigure \ --privileged=true \ --net qgstu-network \ --ip 172.20.1.10 \ gitlab/gitlab-ce:latest
1.1 --privileged=true参数
使用--privileged=true参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
甚至允许你在docker容器中启动docker容器。
1.2 指定静态ip
启动Docker容器的时候,使用默认的网络是不支持指派固定IP的,必须创建自定义网络(默认:bridge)
docker network create -d bridge --subnet=172.20.1.0/24 --gateway=172.20.1.1 qgstu-network
--subnet=172.20.1.0/16 24代表该网段前24位相同,后8位不同,即该网段范围为:172.20.1.1~172.20.1.254
--subnet=172.20.1.0/24 即该网段范围为:172.20.0.1-172.20.255.254
1.3 指定网络,及ip地址:
--net qgstu-network \ --ip 172.20.1.10 \
2、配置
把external_url改成部署机器的域名或者IP地址
vim /mhdata/data/gitlab/config/gitlab.rb # 配置http协议所使用的访问地址,不加端口号默认为80 external_url 'http://192.168.38.234' # 配置ssh协议所使用的访问地址和端口 gitlab_rails['gitlab_ssh_host'] = '192.168.38.234' gitlab_rails['gitlab_shell_ssh_port'] = 20022 # 此端口是run时22端口映射的20022端口 # 重启gitlab容器 $ docker restart gitlab
此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)