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