Linux安装docker Docker安装gitlab

Posted 织梦少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux安装docker Docker安装gitlab相关的知识,希望对你有一定的参考价值。

##Centos7安装docker
```
#要求CentOS系统的内核版本在 3.10以上,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker
1、通过 uname -r 命令查看你当前的内核版本
uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
yum -y update
3、卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
7、安装docker
sudo yum install -y docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.03.1
8、启动并加入开机启动
systemctl start docker
systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version

```

##Ubuntu18.04安装docker
```
#第一种方法从Ubuntu的仓库直接下载安装:
$ sudo apt install docker.io
$ sudo systemctl start docker
$ sudo systemctl enable docker
#查看是否安装成功
$ docker -v
#Docker version 17.12.1-ce, build 7390fc6

第二种方法从Docker仓库下载安装:
这种安装方式首先要保证Ubuntu服务器能够访问Docker仓库地址:https://download.docker.com/linux/ubuntu,如果能够访问,按照下面的操作步骤进行安装。
$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
#在/etc/apt/sources.list.d/docker.list文件中添加下面内容
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
#添加秘钥
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt update
#安装docker-ce
$ sudo apt install docker-ce
#查看是否安装成功:
$ docker --version
Docker version 18.03.0-ce, build 0520e24
```


###docker安装gitlab
```
1.pull中文版镜像:
docker pull beginor/gitlab-ce
2.运行:
通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。

mkdir -p /usr/local/gitlab/etc
mkdir -p /usr/local/gitlab/log
mkdir -p /usr/local/gitlab/data
准备好这三个目录之后, 就可以开始运行 Docker 镜像了。 我的建议是使用unless-stopped 作为重启策略, 因为这样可以手工停止容器, 方便维护。
完整的运行命令如下:

docker run --detach --publish 8443:443 --publish 8080:80 --name gitlab --restart unless-stopped --volume /mnt/sda1/gitlab/etc:/etc/gitlab --volume /mnt/sda1/gitlab/log:/var/log/gitlab --volume /mnt/sda1/gitlab/data:/var/opt/gitlab --privileged=true beginor/gitlab-ce
--publish:将443映射到外部端口8443
--publish 8080:80:将80映射到外部端口8080
--name gitlab 运行容器名
--restart unless-stopped 重启策略
--volume /usr/local/gitlab/etc:/etc/gitlab 挂载目录
--volume /usr/local/gitlab/log:/var/log/gitlab 挂载目录
--volume /usr/local/gitlab/data:/var/opt/gitlab 挂载目录
--privileged=true 使得容器内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限

3.访问:
打开浏览器:ip地址:8080(http://192.168.106.128:8080/)

升级
小版本升级(例如从 8.8.2 升级到 8.8.3), 参照官方的说明, 将原来的容器停止, 然后删除:

docker stop gitlab
docker rm gitlab

然后重新拉一个新版本的镜像下来:

docker pull beginor/gitlab-ce

还使用原来的运行命令运行:

docker run
--detach
--publish 8443:443
--publish 8080:80
--name gitlab
--restart unless-stopped
--volume /mnt/sda1/gitlab/etc:/etc/gitlab
--volume /mnt/sda1/gitlab/log:/var/log/gitlab
--volume /mnt/sda1/gitlab/data:/var/opt/gitlab
beginor/gitlab-ce

大版本升级(例如从 8.7.x 升级到 8.8.x)用上面的操作有可能会出现错误, 如果出现错误可以尝试登录到容器内部, 可以用 docker exec , 也可以用 ssh , 依次执行下面的命令:

gitlab-ctl reconfigure
gitlab-ctl restart

```

###docker搭建maven私服Nexus
```
1.下载一个nexus3的镜像
docker pull sonatype/nexus3
2.将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。
docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3
3.进入容器中
docker exec -it 775c7c9ee1e1 /bin/bash
4.查看密码
cat /nexus-data/admin.password

```

###docker添加阿里云镜像加速
```
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF‘
{
"registry-mirrors": ["https://ho61rkj01.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
```

以上是关于Linux安装docker Docker安装gitlab的主要内容,如果未能解决你的问题,请参考以下文章

[Linux] docker 方式安装和使用gitlab-ce

Docker-Compose 部署Gitlab

Centos7使用Docker安装Gogs源码git仓库

sh 使用git和curl安装Docker

基于ansible在远程centos服务器docker环境安装docker-gogs

Docker安装gitea