1、Docker安装
1.1、卸载以前安装的docker
查询安装过的包
yum list installed | grep docker
删除安装的软件包
yum -y remove docker-engine.x86_64
1.2、安装必要的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.3、添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.4、更新yum缓存
sudo yum makecache fast
1.5、安装docker
sudo yum -y install docker-ce
1.6、更改docker仓库为国内仓库
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://00b257d9.m.daocloud.io
1.7、启动docker
systemctl start docker.service
完成以上docker安装,可以执行docker -v 测试一下安装是否成功
1.8、安装docker-compose
yum -y install epel-release
yum install python-pip
pip install --upgrade pip
pip install docker-compose --ignore-installed
输入docker-compose version 查看是否安装成功,
docker run 常用参数:
--name="xxxx": 为容器指定一个名称
-d: 后台运行容器,并返回容器ID
--publish , -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
--volume , -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
--link=[]: 添加链接到另一个容器
--env , -e=[], 指定环境变量,容器中可以使用该环境变量
2、搭建gitlab
2.1、下载并运行gitlab所需要的redis
docker run --name gitlab-redis -d \
--volume /srv/docker/gitlab/redis:/var/lib/redis \
sameersbn/redis:4.0.9-1
2.2、下载并运行gitlab所需要的postgresql(注意修改自己的用户名、密码)
docker run --name gitlab-postgresql -d \
--env 'DB_NAME=gitlabhq_production' \
--env 'DB_USER=xxxxx' --env 'DB_PASS=xxxx' \
--env 'DB_EXTENSION=pg_trgm' \
--volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \
sameersbn/postgresql:10
2.3、下载并运行gitlab
注意修改gitlab安装的ip地址或域名
docker run --name gitlab -d \
--link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
--publish 10022:22 --publish 80:80 \
--env 'GITLAB_PORT=80' --env 'GITLAB_SSH_PORT=10022' \
--env 'GITLAB_SECRETS_DB_KEY_BASE=3XF54I6fq7XlImngIVZ1lnX0BszOTXg' \
--env 'GITLAB_SECRETS_SECRET_KEY_BASE=7aGqb3xx2tPNoaoRBH4u61qJbfUxeMp' \
--env 'GITLAB_SECRETS_OTP_KEY_BASE=KcWvgY0aizUwKbTMhgQhpjDoxdUOO6y' \
--env 'GITLAB_HOST=192.0.0.131' \
--env 'GITLAB_BACKUP_SCHEDULE=daily' --env 'GITLAB_BACKUP_TIME=03:00'\
--volume /srv/docker/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:11.2.3
安装完成,直接访问自己的ip,因为是80端口,然后注册自己的账户登录即可
3、搭建MySQL
3.1、创建mysql的配置及数据存放目录
mkdir -p /srv/mysql/conf /srv/mysql/logs /srv/mysql/data
3.2、创建mysql配置文件
vim /srv/mysql/conf/my.cnf
[mysqld]
max_allowed_packet=20M
lower_case_table_names=1
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
3.3、下载并安装mysql 5.7(注意修改root密码)
docker run -p 3307:3306 --name mysql \
-v /srv/mysql/conf:/etc/mysql/conf.d \
-v /srv/mysql/logs:/logs \
-v /srv/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
安装完成之后,可以通过docker exec 测试一下是否启动成功
docker ps
查找MySQL的container id
docker exec -it 0d2a2e674889 mysql -uroot -P 3307 -p
4、搭建redis
4.1、安装redis
docker run --name redis -d --publish 6379:6379 redis:4.0
跟上面一样可以使用docker exec查看是否安装成功
docker exec -it bc22f92ffc10 redis-cli
5、搭建nexus私服
5.1、创建文件夹,设置此文件夹权限777
mkdir -p /srv/nexus/data
chmod 777 /srv/nexus/data
5.2、安装nexus3
sudo docker run -d -p 8081:8081 --name nexus3 \
-v /srv/nexus/data:/nexus-data \
sonatype/nexus3
安装完成,访问自己的ip:8081,进入之后右上角有一个登陆按钮,会提示你admin 账户的初始密码在'/nexus-data/admin.password'
cd /srv/nexus/data
cat admin.password
得到初始密码之后进行登陆,并提示你修改初始密码
这里可以代理其它仓库(例如阿里云的),也可以新建公司内部的仓库
阿里云仓库地址为
http://maven.aliyun.com/nexus/content/groups/public/
Nexus默认的仓库类型:
1)group(仓库组类型):又叫组仓库,用于方便开发人员自己设定的仓库;
2)hosted(宿主类型):内部项目的发布仓库(内部开发人员,发布上去存放的仓库);
3)proxy(代理类型):从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径);
把阿里云设置为第一位
修改maven的settings.xml
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://192.0.0.131:8081/repository/maven-public/</url>
</mirror>
####################### 持续更新。。。###########################