Docker实战及常用服务安装

614 阅读3分钟

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>

####################### 持续更新。。。###########################