环境初始化
cat /etc/centos-release
JDK
[root@k8s0 ~]# rpm -qa | grep jdk
copy-jdk-configs-3.3-10.el7_5.noarch
java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
[root@k8s0 ~]# rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch
[root@k8s0 ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
[root@k8s0 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
[root@k8s0 ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
[root@k8s0 ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
java -version
Docker安装
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce
# 设置docker服务开机自启
systemctl enable docker
systemctl start docker
Redis
docker pull redis:5.0.3
mkdir -p /usr/redis/data /usr/redis/conf
touch redis.conf
docker run --restart=unless-stopped --name redis -d -p 6379:6379 -v /usr/redis/data:/data -v /usr/redis/conf/redis.conf:/redis.conf redis:5.0.3 redis-server --appendonly yes --requirepass "root"
-p 6379:6379 ---> 将容器的6379端口映射到主机的6379端口
-d ---> 将容器的在后台运行
-v /usr/redis/data:/data : ---> 将主机中当前目录下的data挂载到容器的/data .redis数据卷,如未加上这个,容器重启后数据将丢失.
redis-server --appendonly yes ---> 在容器执行redis-server启动命令,并打开redis持久化配置
--requirepass "root" ---> 设置引号里字符为密码
-restart=always ---> 随docker启动而启动
docker exec -it <CONTAINER ID> redis-cli
firewall-cmd --permanent --add-port=6379/tcp
Redis Desktop Manager
https://www.xitongzhijia.net/soft/215590.html
Nacos
mkdir -p /usr/nacos/logs/ /usr/nacos/init.d/
vi /usr/nacos/init.d/custom.properties
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1 db.url.0=jdbc:mysql://10.18.111.127:3306/nacos?characterEncoding=utf-8&allowMultiQueries=true&serverTimezone=Asia/Shanghai
db.user=root
db.password=root
nacos.cmdb.dumpTaskInterval=3600 nacos.cmdb.eventTaskInterval=10 nacos.cmdb.labelTaskInterval=300 nacos.cmdb.loadDataAtStart=false management.metrics.export.elastic.enabled=false management.metrics.export.influx.enabled=false server.tomcat.accesslog.enabled=true server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
docker run --name nacos-standalone -e MODE=standalone \
-v /usr/nacos/logs:/home/nacos/logs \
-v /usr/nacos/init.d/custom.properties:/etc/nacos/init.d/custom.properties \
-v /usr/nacos/data:/home/nacos/data \
-d -p 8848:8848 nacos/nacos-server:2.0.0
# 设置JVM参数
-e JVM_XMS=256m \
-e JVM_XMX=256m \
Sentinel
docker run --restart=unless-stopped --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard:1.7.1
Mysql
mkdir -p /usr/mysql/conf /usr/mysql/data
chmod -R 755 /usr/mysql/
vi /usr/mysql/conf/my.cnf
[client]
#socket = /usr/mysql/mysqld.sock
default-character-set = utf8mb4
[mysqld]
#pid-file = /var/run/mysqld/mysqld.pid
#socket = /var/run/mysqld/mysqld.sock
#datadir = /var/lib/mysql
#socket = /usr/mysql/mysqld.sock
#pid-file = /usr/mysql/mysqld.pid
datadir = /usr/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
docker run --restart=unless-stopped --name mysql -d -p 3306:3306 -v /usr/mysql/conf/my.cnf:/etc/my.cnf -v /usr/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --privileged=true mysql:5.7.23
--character-set-server=utf8
--collation-server=utf8_general_ci
-v ---> 挂载宿主机目录和 docker容器中的目录
-p ---> 映射容器端口号和宿主机端口号
-e ---> 环境参数
-d --->后台运行
--restart=unless-stopped --->docker容器重启重启,除了重启前停止的docker容器
docker exec -it mysql /bin/bash
mysql -uroot -p
root
use mysql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;
Gitlab
mkdir -p /usr/gitlab/config /usr/gitlab/logs /usr/gitlab/data
docker run -itd --name gitlab -p 443:443 -p 80:80 -p 222:22 --restart=unless-stopped -m 4GB -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab -e TZ=Asia/Shanghai gitlab/gitlab-ce:12.7.6-ce.0
docker exec -it gitlab bash
cd /etc/gitlab
vi gitlab.rb
# 配置项目访问地址:
external_url 'http://192.168.198.100'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.198.100'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_shell_ssh_port'] = 222
gitlab-ctl restart
Minio
docker run -p 9000:9000 -p 9090:9090 \
--net=host \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /home/minio/data:/data \
-v /home/minio/config:/root/.minio \
minio/minio server \
/data --console-address ":9090" -address ":9000"