docker指定版本安装【官方文档步骤】
官方文档地址:https://docs.docker.com/engine/install/centos/
# 1.安装yum工具及设置docker-ce镜像库
sudo yum install -y yum-utils
# 国外的镜像下载太慢了改成阿里云镜像库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 2.阿里云镜像库
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 3.查询docker可用稳定版本
yum list docker-ce --showduplicates | sort -r
[root@VM-0-17-centos ~]# yum list docker-ce --showduplicates | sort -r
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror, langpacks
Installed Packages
docker-ce.x86_64 3:24.0.6-1.el7 docker-ce-stable
docker-ce.x86_64 3:24.0.6-1.el7 @docker-ce-stable
docker-ce.x86_64 3:24.0.5-1.el7 docker-ce-stable
docker-ce.x86_64 3:24.0.4-1.el7 docker-ce-stable
docker-ce.x86_64 3:24.0.3-1.el7 docker-ce-stable
docker-ce.x86_64 3:24.0.2-1.el7 docker-ce-stable
docker-ce.x86_64 3:24.0.1-1.el7 docker-ce-stable
docker-ce.x86_64 3:24.0.0-1.el7 docker-ce-stable
docker-ce.x86_64 3:23.0.6-1.el7 docker-ce-stable
docker-ce.x86_64 3:23.0.5-1.el7 docker-ce-stable
docker-ce.x86_64 3:23.0.4-1.el7 docker-ce-stable
# 4.安装指定版本<24.0.6>版本
yum install docker-ce-24.0.6 -y
# 5.添加开机启动docker服务及运行启动docker服务
systemctl enable docker
systemctl start docker
[root@localhost ]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
# 上述为文件内容添加以后重载docker配置及重启docker服务
systemctl daemon-reload
systemctl restart docker
地址:https://github.com/sameersbn/docker-gitlab/tree/12.10.6#quick-start
docker run --name gitlab-redis -d \
--volume /data/gitlab/redis:/var/lib/redis \
sameersbn/redis:4.0.9-2
docker run --name gitlab-postgresql -d \
--env 'DB_NAME=gitlabhq_production' \
--env 'DB_USER=gitlab' --env 'DB_PASS=youyigame@2023' \
--env 'DB_EXTENSION=pg_trgm' \
--volume /data/gitlab/postgresql:/var/lib/postgresql \
sameersbn/postgresql:10-2
在启动gitlab容器之前,需要先准备几个参数的值
#gitlab的域名
GITLAB_HOST: gitlab.xxx.com
#gitlab容器内的时区,rails中时区不使用shanghai,用beijing
GITLAB_TIMEZONE:Beijing
#gitlab容器内的仓库http地址端口
GITLAB_PORT:80
#gitlab容器内的仓库ssh地址端口
GITLAB_SSH_PORT:10022
#base64编码的随机字符串,以下参数可在在线base64网站中生成
GITLAB_SECRETS_DB_KEY_BASE
GITLAB_SECRETS_SECRET_KEY_BASE
GITLAB_SECRETS_OTP_KEY_BASE
以上参数准备好以后即可运行gitlab容器,运行后等待几分钟即可进入首页
docker run --name gitlab -d \
--link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
--env GITLAB_HOST=gitlab.xxxx.com \
--env GITLAB_TIMEZONE=Beijing \
--publish 10022:22 --publish 10080:80 \
--env 'GITLAB_PORT=80' --env 'GITLAB_SSH_PORT=10022' \
--env 'GITLAB_BACKUP_SCHEDULE=daily' \
--env 'GITLAB_BACKUP_TIME=01:00' \
--env 'GITLAB_SECRETS_DB_KEY_BASE=eW91eWlnYW1lQDIwMjM' \
--env 'GITLAB_SECRETS_SECRET_KEY_BASE=eW91eWlnYW1lQDIwMjM' \
--env 'GITLAB_SECRETS_OTP_KEY_BASE=eW91eWlnYW1lQDIwMjM' \
--volume /data/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:12.10.6
--env 'GITLAB_BACKUP_SCHEDULE=daily' \
--env 'GITLAB_BACKUP_TIME=01:00' \
# 进入容器
docker exec -it gitlab bash
# 切换用户为git,使用git命令进行备份
su git
cd /home/git/gitlab/bin
./rake gitlab:backup:create
docker exec -it --user git gitlab ./bin/rake gitlab:backup:create
upstream gitlab {
server 127.0.0.1:10080;
}
server {
listen 80;
server_name gitlab.xxxx.com;
location / {
client_max_body_size 200m;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://gitlab;
proxy_redirect off;
}
}
【sameersbn/gitlab】与官方的docker部署相比较为简单,按照版本由低到高一步一步拉起容器,及时观察容器启动日志。容器内部会自动进行数据迁移,如遇到错误,根据错误解决即可,大多遇到的错误都是缺少参数,在容器启动时,将版本差异的参数补齐即可。
由于在启动容器时配置gitlab的ssh端口不为22。所以要在本地.ssh/config中增加如下配置才能正常拉取ssh地址仓库代码。
Host gitlab.xxx.com
HostName gitlab.xxx.com
User git
Port 10022
IdentityFile ~/.ssh/id_rsa