项目环境搭建

Posted by William(王明高) Blog on August 2, 2020

1 系统环境

1、 系统信息

内存:8G

CPU: 4核

IP:192.168.0.234

2 项目部署

2.1 说明

  • 项目部署方式:Docker-compose。
  • Docker版本:Server Version: 19.03.12
  • 所需的Dokcer镜像已存放于公司私有仓库镜像中,地址:http://192.168.0.58 ,用户名:admin,密码:Harbor12345
  • 为方便Docker后续使用,镜像被标记为:harbor.sd.com/library/ ***,docker-compose.yaml文件中使用的DNS进行解析,所以使用docker-compose构建环境时需要添加本地hosts解析

2.2 部署步骤

2.2.1 添加本地解析

echo '192.168.0.58 harbor.sd.com' >> /etc/hosts

2.2.2 创建本地挂载目录

mkdir -p /data/docker_volume/mysql/{etc,data}mkdir -p /data/docker_volume/activemq/{data,log}mkdir -p /data/docker_volume/tomcat/{conf,logs,webapps}

2.2.3 创建MySQL配置文件

cat <<EOF>> /data/docker_volume/mysql/etc/my.cnf[mysqld]character-set-server = utf8collation-server=utf8_general_ciopen_files_limit = 50000server_id = 1symbolic-links=0sort_buffer_size = 8Mmax_connections = 1000max_connect_errors = 10000join_buffer_size = 2Msocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysqlevent_scheduler=ONsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONgroup_concat_max_len=102400default-time-zone='+8:00'#innodb innodb_buffer_pool_size = 1024Minnodb_data_file_path = ibdata1:1000M:autoextendinnodb_flush_log_at_trx_commit = 2 innodb_file_per_table = 1innodb_log_file_size = 256M    innodb_log_buffer_size = 8Minnodb_log_files_in_group = 3innodb_lock_wait_timeout = 20innodb_max_dirty_pages_pct = 70innodb_open_files = 50000#logsbinlog_format = ROWexpire_logs_days = 7general_log = 0log_bin = mysql-binlog_bin_trust_function_creators = 1long_query_time = 5slow_query_log = 1slow_query_log_file = slow.log#GTIDgtid-mode=on                    enforce-gtid-consistency=1master_info_repository=TABLEmaster_verify_checksum=1relay_log_info_repository=TABLE[mysqld_safe]log-error=/var/lib/mysql/mysqld.logpid-file=/var/lib/mysql/mysqld.pidEOF

2.3.4 创建docker-compose.yaml

mkdir -p /data/docker-compose/jdpscat <<EOF> /data/docker-compose/jdps/docker-compose.yamlversion: '2.3'services:   mysql:    image: harbor.sd.com/library/mysql:5.7    container_name: mysql    restart: always    volumes:      - /data/docker_volume/mysql/data:/var/lib/mysql      - /data/docker_volume/mysql/etc/my.cnf:/etc/mysql/my.cnf      - /etc/localtime:/etc/localtime:ro     environment:      MYSQL_ROOT_PASSWORD: Shuiduntest@2019      MYSQL_DATABASE: jdps      MYSQL_USER: jdps      MYSQL_PASSWORD: jdps    ports:      - 3306:3306  redis:    image: harbor.sd.com/library/redis:latest    container_name: redis    restart: always    volumes:      - /etc/localtime:/etc/localtime:ro     ports:      - 6379:6379  activemq:    image: harbor.sd.com/library/activemq:latest    container_name: activemq    restart: always    volumes:      - /data/docker_volume/activemq/data:/data/activemq      - /data/docker_volume/activemq/log:/var/log/activemq      - /etc/localtime:/etc/localtime:ro     ports:       - 61616:61616       - 8161:8161  tomcat:    image: harbor.sd.com/library/tomcat-jdk:v3    container_name: tomcat    restart: always    volumes:      - /data/docker_volume/tomcat/conf:/usr/local/tomcat/conf      - /data/docker_volume/tomcat/logs:/usr/local/tomcat/logs      - /data/docker_volume/tomcat/webapps:/usr/local/tomcat/webapps      - /etc/localtime:/etc/localtime:ro     depends_on:       - mysql      - redis      - activemq    ports:       - 80:8080EOF

3 启动项目

3.1 下载Docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod a+x /usr/local/bin/docker-compose

3.2 docker 登录私有仓库

jdps]# docker login harbor.sd.comUsername: adminPassword: WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded

3.3 启动项目

cd /data/docker-compose/jdps && docker-compose up -d

4 其他设置

4.1 开放防火墙端口

firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --zone=public --add-port=8080/tcp --permanentfirewall-cmd --zone=public --add-port=8161/tcp --permanentfirewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --zone=public --add-port=6379/tcp --permanentfirewall-cmd --zone=public --add-port=61616/tcp --permanent