参考
https://jingyan.baidu.com/article/15622f24dad3bafdfcbea5f7.html
参考
https://www.cnblogs.com/116970u/p/10400436.html
//注意不要安装在root目录下
在/usr/local下创建maven maven仓库mavendev (赋于独写得权限 chmod 777+文件所在路径)
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
如出现wegt命令找不到 先安装
yum -y install wget --可以使用wegt不用安装
解压maven
tar -zxvf apache-maven-3.1.1-bin.tar.gz
将 apache-maven-3.1.1 改为 maven
mv apache-maven-3.1.1 maven
更改settings.xml文件中
vi conf/settings.xml
添加仓库路径
/usr/local/mavendev
添加阿里云私服
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
配置环境变量
vi /etc/profile
export M2_HOME=/maven/maven -- maven 安装的路径
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
修改完重载这个文件使文件立即生效,否则重启计算机即可生效。
source /etc/profile
//验证
mvn -v
查看是否安装过git
git --version
安装git
yum -y install git
###移除git
yum remove git
防火墙设置
查看防火状态
systemctl status firewalld
service iptables status
暂时关闭防火墙
systemctl stop firewalld
service iptables stop
永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
重启防火墙
systemctl enable firewalld
service iptables restart
yum安装docker
yum install docker
systemctl enable docker // systemctl是centos7中系统服务管理命令
配置国内仓库:/etc/docker/daemon.json 配置仓库地址
vim /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
systemctl restart docker
或者
{"registry-mirrors":["https://wghlmi3i.mirror.aliyuncs.com"]}
systemctl restart docker
验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
docker容器跟随docker启动
docker update --restart=always 容器名称或者容器id
docker search portainer
docker pull portainer/portainer
#启动
docker run -d -p 9000:9000 \
--restart=always \
-v /opt/portainer:/data/portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
--name prtainer-test \
portainer/portainer
//注意安装docker使用yum安装 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker
在root用户下 su root
sudo yum update
拉取镜像
docker pull gitlab/gitlab-ce
运行镜像
# 将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级。
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
# 分别指定映射的端口,容器名字,挂载的卷(config,logs,data),镜像
docker run -d \
-p 2222:22 -p 4555:80 -p 8443:443 \
--name gitlab \
-v /data/gitlab/config/:/data/gitlab/config/ \
-v /data/gitlab/logs/:/data/gitlab/logs/ \
-v /data/gitlab/data/:/data/gitlab/data/ \
gitlab/gitlab-ce:latest
# 检查是否运行成功,看到gitlab说明没问题:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d94a3639e722 gitlab/gitlab-ce:latest "/assets/wrapper" 16 hours ago Up 16 hours (healthy) 0.0.0.0:2222->22/tcp, 0.0.0.0:8080->80/tcp, 0.0.0.0:8443->443/tcp gitlab
确认以上步骤无误后,以下操作均需要在容器内进行:
# 进入容器内配置GitLab
docker exec -it gitlab /bin/bash
root@d94a3639e722:/#
# 出现上面一行说明已经进入容器内了
# 容器内进行配置相关配置文件
vim /etc/gitlab/gitlab.rb
添加下面的配置(填写虚拟机Ip)
external_url 'http://192.168.11.3'
保存并退出
更新配置
root@d94a3639e722:/# gitlab-ctl reconfigure
# 该步骤至少需要几分钟
重启gitlab
root@d94a3639e722:/# gitlab-ctl restart
# 查看运行状态是否正常:
root@d94a3639e722:/# gitlab-ctl status
run: alertmanager: (pid 1193) 58248s; run: log: (pid 299) 58494s
run: gitaly: (pid 1202) 58247s; run: log: (pid 303) 58494s
run: gitlab-exporter: (pid 1209) 58247s; run: log: (pid 293) 58494s
run: gitlab-workhorse: (pid 1218) 58246s; run: log: (pid 287) 58494s
run: grafana: (pid 1227) 58246s; run: log: (pid 283) 58494s
run: logrotate: (pid 37010) 3202s; run: log: (pid 291) 58494s
run: nginx: (pid 1244) 58245s; run: log: (pid 289) 58494s
run: postgres-exporter: (pid 1249) 58244s; run: log: (pid 297) 58494s
run: postgresql: (pid 1268) 58244s; run: log: (pid 305) 58494s
run: prometheus: (pid 1278) 58243s; run: log: (pid 285) 58494s
run: redis: (pid 1286) 58243s; run: log: (pid 311) 58494s
run: redis-exporter: (pid 1422) 58243s; run: log: (pid 295) 58494s
run: sidekiq: (pid 1547) 58239s; run: log: (pid 309) 58494s
run: sshd: (pid 1554) 58239s; run: log: (pid 31) 58510s
run: unicorn: (pid 1561) 58237s; run: log: (pid 307) 58494s
如果配置得有问题,但是不想逐个去改,那么首先应该在容器外停止相应的容器:“docker stop gitlab”,再通过“docker rm containerID”这一命令删除指定容器,而镜像则不用动。containerID可以用“docker ps -a”获取。
docker update --restart=always 容器名称或者容器id
输入网址:http://192.168.11.3:4555/(虚拟机IP加上端口号)
拉取镜像
docker pull jenkins/jenkins:lts
在主机上创建目录,并添加读写权限以便jenkins应用运行时读写文件
mkdir /var/jenkins_home
chmod 777 /var/jenkins_home
sudo chown -R 1000 /var/jenkins_home
运行jenkins镜像 启动jenkins
docker run -d \
-u root \
-p 4455:8080 -p 50000:50000 \
--name jenkins \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /usr/lib/jvm/java:/usr/lib/jvm/java \
-v /usr/local/maven:/usr/local/maven \
-v /usr/local/mvndev:/usr/local/mavendev \
-v /var/jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
查看jenkins得密码
docker exec -it 容器id /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
cc11dae969234e5398da8f1eb283aaf8
下载插件 mavne gitlap Gitlab Hook Plugin Build Authorization Token Root
配置jdk maven git
创建一个自由风格的项目
执行mvn构建
在gitlap上
在gitlap填写Jenkins上面的url和token
项目demo 随意建立一个springboot的项目 项目中配置dockerfile和docker registry的私仓地址 填写对应的信息
app
org.springframework.boot
spring-boot-maven-plugin
com.spotify
docker-maven-plugin
1.0.0
192.168.11.3:5000/${project.artifactId}:${project.version}
openjdk:8
["java", "-jar", "/${project.build.finalName}.jar"]
/
${project.build.directory}
${project.build.finalName}.jar
//注意运行jenkins时要挂载jdk和maven 挂载Jenkins_home用于docker安装得jenkins在使用中可以找到宿主机上得安装环境**
拉取镜像
docker pull registry
首先在在主机上新建一个目录,供存储镜像
cd /usr/local/
mkdir docker_registry
赋于jenkins对应的1000得权限
sudo chmod 777 docker_registry
修改daemon.json,让 docker信任私有仓库地址
vim /etc/docker/daemon.json
添加如下内容,保存退出。
{
"insecure-registries":["192.168.11.3:5000"]
}
注意:该文件中如有多个内容,比如有之前配置的私服镜像地址,用英文逗号隔开,参考如下: ,分隔
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
,"insecure-registries":["192.168.40.134:5000"]
}
重启docker
systemctl restart docker
docker run -d -p 5000:5000 --name=helregistry --restart=always --privileged=true -v /usr/local/docker_registry:/var/lib/registry docker.io/registry
启动
http://192.168.11.3:5000/v2/_catalog
在服务器上直接执行下面语句安装最新版的:
docker run -d --restart=always -p 80:80 -p 443:443 -v /usr/local/rancher:/var/lib/rancher/ rancher/rancher:stable
浏览器输入192.168.11.3进入rancher
点击下一步 如下图 点击复制再linux上执行
此时k8s单机集群正处于准备状态中等待一段时间集群自动搭建完成:
等待一段时间集群自动搭建完成,显示为active
状态集群就搭建完成
点击执行kubectl命令行
执行 kubtc1 get svc
点击建立的测试集群-----点击储存
添加持久卷:
k8s部署结束
查看项目及命名空间:添加项目
开始部署项目: 填写项目名称 镜像 端口号
测试访问192.168.11.3:30001/hello
下载镜像
[root@node-11 ~]# docker pull mysql:5.7.20
创建mysql目录
[root@node-11 ~]# mkdir /opt/mysql/{data,conf,logs} -p
目录说明:
data:数据目录
conf:配置文件
logs:日志目录
编辑配置文件
[root@node-11 ~]# vim /opt/mysql/conf/mysqld.cnf
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
lower_case_table_names = 1 ## 忽略mysql查询大小写
注意:这只是简单的mysql参数,具体的参数需要根据业务需求,自行添加即可,这里需要注意的是,涉及到mysql数据目录的话,一定要写容器内的路径,而不是映射到宿主机的目录。
启动
[root@node-11 ~]# docker run -d --restart=always -p 3306:3306 --name mysql \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/logs:/var/log/mysql \
-v /opt/mysql/conf:/etc/mysql/mysql.conf.d \
-e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.20
参数解释:
设置远程登录
docker exec -it mysql /bin/bash
root@cd0fb7617eb9:/# mysql -uroot -p
Enter password: ######输入mysql的密码(123456)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.20 MySQL Community Server (GPL)
Copyright © 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
安装nacos镜像
docker pull nacos/nacos-server:1.2.1
启动nacos镜像
docker run --env MODE=standalone --name nacos -d --restart=always -p 8848:8848 nacos/nacos-server:1.0.0
边做了端口映射,最后可以通过 ip:8848/nacos 访问,登录密码默认nacos/nacos
项目配置 添加mybatis mysql nacos 依赖 连接池依赖(//因为nacos内置的连接池和项目中连接数据库会产生冲突)
mysql
mysql-connector-java
5.1.38
com.alibaba
druid
1.1.20
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
2.0.2.RELEASE
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
2.0.2.RELEASE
dev
dev
true
prod
prod
${project.basedir}/src/main/java
**/*.xml
${project.basedir}/src/main/resources
src/main/resources
true
bootstrap.yml
**/*-${profiles.active}.yml
创建清除脚本
在root目录下创建clear.sh
vim clear.sh
添加下面内容
#!/bin/bash
docker rmi `docker images | grep '' | awk '{print $3}'`
使用chmod命令赋予脚本的执行权限
chmod +x clear.sh
定时执行(测试每分钟)
vi /etc/crontab
#每分钟执行该脚本
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
*/1 * * * * root bash /root/clear.sh
重启crontab
systemctl restart crond
自己简单总结,仅作参考—哈哈哈```