目录
系统环境
- Ubuntu
- docker (Docker version 19.03.12, build 48a66213fe)
- docker-compose
步骤
1.安装docker
1.在一个新的宿主机安装docker之前先设置docker的仓库
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
2.添加官方GPG公钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3.添加稳定版的仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
阿里云仓库
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
4.设置完毕仓库,重新更新源
sudo apt-get update
更新上面源时,可能出现如下错误
获取:1 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
忽略:2 https://download.docker.com/linux/ubuntu focal InRelease
错误:3 https://download.docker.com/linux/ubuntu focal Release
404 Not Found [IP: 13.225.103.65 443]
命中:4 http://mirrors.163.com/ubuntu focal InRelease
命中:5 http://mirrors.163.com/ubuntu focal-updates InRelease
命中:6 http://mirrors.163.com/ubuntu focal-backports InRelease
忽略:7 http://dl.google.com/linux/chrome/deb stable InRelease
命中:8 http://dl.google.com/linux/chrome/deb stable Release
命中:9 http://archive.ubuntukylin.com:10006/ubuntukylin trusty InRelease
正在读取软件包列表... 完成
E: 仓库 “https://download.docker.com/linux/ubuntu focal Release” 没有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
处理方法:
在/etc/apt/source.list增加如下配置
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
再次更新源
如再出错删除出错的地方
安装最新的docker-ce
sudo apt-get install docker-ce
2.安装Docker-compose
Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,我们可以使用YAML文件来配置应用程序的服务。使用一个命令,就可以创建并启动所有服务。
安装docker-compose
sudo apt-get install docker-compose
docker-compose.yml示例
version: '2'
services:
web:
build: .
ports:
- "8000:8000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
3.安装GitLab
- 在DockerHub中搜索gitlab汉化版,按照说明编辑docker-compose的yaml文件
vim docker-compose.yml
version: '2'
2 services:
3 gitlab:
4 image: 'twang2218/gitlab-ce-zh:11.1.4'
5 container_name: "gitlab"
6 restart: unless-stopped
7 privileged: true
8 hostname: 'gitlab'
9 environment:
10 TZ: 'Asia/Shanghai'
11 GITLAB_OMNIBUS_CONFIG: |
12 external_url 'http://192.18.146.124'
13 gitlab_rails['time_zone'] = 'Asia/Shanghai'
14 gitlab_rails['smtp_enable'] = true
15 gitlab_rails['smtp_address'] = "smtp.163.com"
16 gitlab_rails['smtp_port'] = 465
17 gitlab_rails['smtp_user_name'] = "xie18861872581@163.com" #用自己的邮箱
18 gitlab_rails['smtp_password'] = "FSSSWFXQHMOPYWX"
19 gitlab_rails['smtp_authentication'] = "login"
20 gitlab_rails['smtp_enable_starttls_auto'] = true
21 gitlab_rails['smtp_tls'] = true
22 gitlab_rails['gitlab_email_from'] = 'xie18861872581@163.com'
23 gitlab_rails['gitlab_shell_ssh_port'] = 22
24 ports:
25 - '80:80'
26 - '443:443'
27 - '22:22'
28 volumes:
29 - /opt/gitlab/config:/etc/gitlab
30 - /opt/gitlab/data:/var/opt/gitlab
31 - /opt/gitlab/logs:/var/log/gitlab
2.创建相关目录
sudo mkdir /opt/gitlab/{config,data,logs} -p
3.拉取镜像
docker pull twang2218/gitlab-ce-zh:11.1.4
11.1.4: Pulling from twang2218/gitlab-ce-zh
8ee29e426c26: Pull complete
6e83b260b73b: Pull complete
e26b65fd1143: Pull complete
40dca07f8222: Pull complete
b420ae9e10b3: Pull complete
a218309dd589: Pull complete
5c60fd7ba0ce: Pull complete
659c2144b5a3: Pull complete
8289bbac0d0e: Pull complete
31bbd150e8a7: Pull complete
9114e78243fa: Pull complete
0b97fa2153bc: Pull complete
308c7e15be6a: Pull complete
b7f31b8e487d: Pull complete
cbbb6dec5000: Pull complete
0241c9ad6a16: Pull complete
7fa6f0b53edd: Pull complete
1c2861e152b2: Pull complete
0536f3466f66: Pull complete
Digest: sha256:3c2372e3285e6d6933ddebb5ee3ae0c4bbf7cb235084e54d33d7f0ddf4813c4a
Status: Downloaded newer image for twang2218/gitlab-ce-zh:11.1.4
docker.io/twang2218/gitlab-ce-zh:11.1.4
4.启动gitlab容器
docker-compose up -d
可能会报错端口被占用
ERROR: for gitlab Cannot start service gitlab: driver failed programming external connectivity on endpoint gitlab (219e3834826165e5262c42766bdcc61767f14eab592d104bd43451521dcd2454): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
ERROR: for gitlab Cannot start service gitlab: driver failed programming external connectivity on endpoint gitlab (219e3834826165e5262c42766bdcc61767f14eab592d104bd43451521dcd2454): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
ERROR: Encountered errors while bringing up the project
sudo netstat -tunlp|grep 443
sudo netstat -tunlp|grep 443
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 4373/vmware-hostd
tcp6 0 0 :::443 :::* LISTEN 4373/vmware-hostd
udp 0 0 0.0.0.0:44358 0.0.0.0:* 955/avahi-daemon: r
(base) wuhao@418:~/Downloads$ sudo kill -9 4373
(base) wuhao@418:~/Downloads$ sudo netstat -tunlp|grep 443
udp 0 0 0.0.0.0:44358 0.0.0.0:*
ERROR: for gitlab Cannot start service gitlab: driver failed programming external connectivity on endpoint gitlab (7dd8851c10f04c514c7b0f75094373d3cffdac9343131ff8a7963da5c82c2c2b): Error starting userland proxy: listen tcp4 0.0.0.0:22: bind: address already in use
ERROR: for gitlab Cannot start service gitlab: driver failed programming external connectivity on endpoint gitlab (7dd8851c10f04c514c7b0f75094373d3cffdac9343131ff8a7963da5c82c2c2b): Error starting userland proxy: listen tcp4 0.0.0.0:22: bind: address already in use
ERROR: Encountered errors while bringing up the project.
将映射端口22改为其他的
5.效果图
账号:root
密码:首次登陆设置