docker 安装portainer、gogs、redis、mongodb、es、rabbitmq等
1、准备三台虚拟机ip如下
编号
Ip
1
192.168.100.101
2
192.168.100.102
3
192.168.100.103
2、镜像应用编排
192.168.100.101 主要安装系统运维相关服务
192.168.100.102 主要安装mysql、mongodb、elasticsearch,rabbitmq、apollo、eureka、redis
192.168.100.103 主要安装微服务镜像容器
3、安装docker服务
系统内核升级
yum upgrade –y
安装端口查看工具lsof
yum install –y lsof
安装wegt工具
yum install –y wget
安装vim编辑器
yum install –y vim
修改/etc/sysconfig/selinux配置文件中SELINUX=disabled
vim /etc/sysconfig/selinux
安装docker服务
yum install –y docker
配置docker开机启动
systemctl enable docker
关闭防火墙
systemctl stop firewalld
禁止开启防火墙启动
systemctl disable firewalld
配置docker国内加速,编辑/etc/sysconfig/docker配置文件中的OPTIONS属性
vim /etc/sysconfig/docker
具体在OPTIONS加入-Htcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 和
--registry-mirror=https://kfwkfulq.mirror.aliyuncs.com
重启系统
reboot
4、安装portainer(管理docker集群)
在192.168.100.101服务器上安装portainer
拉取portainer镜像
docker pull portainer/portainer
启动容器
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer
启动完成后在浏览器输入:http://192.168.100.101:9000
首次登陆需要注册用户,给admin用户设置密码:
选择remote 分别配置 192.168.100.101 192.168.100.102 192.168.100.103这三个节点
根据实际情况填写相应的ip以及端口
配置完成 Home菜单应该是如下所示
这个软件主要用于管理镜像和容器
5、安装版本管理工具gogs
拉取镜像
docker pull gogs/gogs
运行容器
docker run -di --name=gogs -p 10022:22 -p 3000:3000 --restart=always -v /var/gogsdata:/data gogs/gogs
浏览器输入:http://192.168.100.101:3000
注册账号:这个账号是管理员账号
6、redis安装
拉取镜像
docker pull redis:latest
运行容器
docker run -di --name=redis -p 6379:6379 --restart=always redis:latest
7、MongoDB安装
拉取镜像
docker pull mongo
运行容器
docker run -di --name=mongodb -p 27017:27017 --restart=always mongo:latest
8、RabbitMQ安装
拉取镜像
docker pull rabbitmq:management
运行容器
docker run -di --name=rabbitmq -p 5671:5671 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 --restart=always docker.io/rabbitmq:management
9、Elasticsearch安装
拉取镜像
docker pull elasticsearch:5.6.8
启动容器
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -di -p 9200:9200 -p 9300:9300 --name=elasticsearch docker.io/elasticsearch:5.6.8
配置文件挂载到宿主机
##创建挂载目录
mkdir /usr/share/elasticsearch
##复制容器中的配置文件到挂载目录下
docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch/elasticsearch.yml
停止原来容器,并删除
docker stop elasticsearch
docker rm elasticsearch
重启启动一个容器,并把配置文件挂载到宿主机
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -di -p 9200:9200 -p 9300:9300 --name=elasticsearch docker.io/elasticsearch:5.6.8
修改宿主机配置文件
vi /usr/share/elasticsearch/elasticsearch.yml
##将transport.host: 0.0.0.0前面的‘#’去掉后保存文件退出,生产环境指定具体ip
##配置跨域信息,在宿主机elasticsearch.yml中配置
http.cors.enabled: true
http.cors.allow-origin: "*"
系统参数调优
##修改/etc/security/limits.conf
##nofile是单进程允许打开的最大文件个数,soft nofile是软限制,hard nofile是硬限制
* soft nofile 100001
* hard nofile 100002
##修改/etc/sysctl.conf,追加内容
vm.max_map_count=655360
##配置立即生效
sysctl -p
## 最好重启宿主机
重启容器
docker restart elasticsearch
安装IK分词器
下载ik分词器 解压改文件夹名称为ik,上传到宿主机
复制ik分词器到容器内的plugins目录下
docker cp ik elasticsearch:/usr/share/elasticsearch/plugins
安装elasticsearch-head
docker pull elasticsearch-head:5
docker run -di --name=es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5
10、mysql安装
拉取镜像
docker pull docker.io/centos/mysql-57-centos7
运行容器
docker run -di --name=mysql -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root docker.io/centos/mysql-57-centos7
11、jenkins搭建
拉取镜像
docker pull jenkins/jenkins
创建目录
mkdir /home/jenkins/
授权
cd /home
chown -R 1000:1000 jenkins/
运行容器
docker run -dit -p 8888:8080 -p 50000:50000 --name=jenkins --privileged=true -v /home/jenkins/:/var/jenkins_home --restart=always jenkins/jenkins:latest
修改hudson.model.UpdateCenter.xml
cd /home/jenkins/
vim hudson.model.UpdateCenter.xml
##把url改为http://mirror.xmission.com/jenkins/updates/update-center.json
在$JENKINS_HOME/updates中把defaul.json中的www.google.com修改成www.baidu.com
vim /home/jenkins/updates/default.json
重启jenkins
docker restart jenkins
浏览器输入:http://192.168.100.101:8888
获取初始密码
cat /home/jenkins/secrets/initialAdminPassword
把得到的密码输入上图输入框内
开始自动安装插件
创建用户
安装完成
12、安装Harbor私有镜像仓库
下载docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
授权
chmod +x /usr/local/bin/docker-compose
下载harbor
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.1.tgz
解压,配置harbor
tar -zxvf harbor-offline-installer-v1.7.1.tgz
cp –r /usr/local/src/harbor /usr/local
修改配置文件
cd /usr/local/harbor
vim ./harbor.cfg
##hostname修改成192.168.100.101
hostname = 192.168.100.101
配置docker
#因为docker默认使用的是https连接,而harbor默认使用http连接,所以需要修改docker配置标志insecure registry不安全仓库的主机
vim /usr/lib/systemd/system/docker.service
在ExecStart后面加上 --insecure-registry这个参数
ExecStart=/usr/bin/dockerd --insecure-registry=192.168.100.101
重新加载docker配置
systemctl daemon-reload
重启docker服务
systemctl restart docker
执行脚本安装
cd /usr/local/harbor
./install.sh
Harbor容器的stop与start
进入到Harbor目录执行如下命令即可
docker-compose stop/start
安装完成在浏览器输入:http://192.168.100.101
初始默认用户名密码:admin/Harbor12345
提交镜像到Harbor私有仓库
首先打标签
docker tag jdk1.8 192.168.100.101/public/jdk1.8:latest
登录私有仓库
docker login 192.168.100.101
输入用户名:xxxx
输入密码:xxxx
提交镜像到私有仓库
docker push 192.168.100.101/public/jdk1.8:latest
彻底删除镜像
docker-compose stop
作者:北岩
原文:https://my.oschina.net/shxjinchao/blog/3004228