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 |
启动完成后在浏览器输入:
首次登陆需要注册用户,给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
|
浏览器输入:
注册账号:这个账号是管理员账号
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改为 |
在$JENKINS_HOME/updates中把defaul.json中的www.google.com修改成
vim /home/jenkins/updates/default.json |
重启jenkins
docker restart jenkins |
浏览器输入:
获取初始密码
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 |
安装完成在浏览器输入:
初始默认用户名密码: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 |