安装准备
Docker 环境准备
需要提前安装好 docker 与 docker-compose
1.检查docker
# docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:20:16 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:23:58 2018
OS/Arch: linux/amd64
Experimental: false
2.检查 docker-compose
# docker-compose version
docker-compose version 1.21.2, build a133471
docker-py version: 3.3.0
CPython version: 3.6.5
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
镜像准备
此处为项目所需的本地镜像和官方镜像,在此不再赘述。(将项目所需要的zip包放deploy目录下)
执行解压操作
unzip -oq -d ./data/web/ ./deploy/learner-web.zip
unzip -oq -d ./data/web/ ./deploy/console-web.zip
unzip -oq -d ./data/web/ ./deploy/lmsapi.zip
unzip -oq -d ./apps/ ./deploy/parim-spark.zip
此举后端工程为springboot console端和前端为angular工程,打包命令总结如下
管理端前端(只有一个工程) : npm run build
学员端工程(多个工程): ng build learner-web(要打包的工程名)
#管理端/前端工程打完包需要到dist目录下
eclipse gradle工程打包命令
打jar包:gradle build
打zip包:gradle clean mkZip -x test -x javadoc -Denv=dev
当本地gradle版本过高可使用gradlew进行处理
打jar包:./gradlew build
打zip包:./gradlew clean mkZip -x test -x javadoc -Denv=dev
-Denv=dev指定分支,不指定默认dev
docker环境配置
- 从GitHub上所需分支,放置docker目录下
git clone url.....
2.docker-compose 用到的几个命令
docker-compose up -d #创建并启动所有容器服务器
docker-compose up -d mysql-server #单独启动某一个容器,注意 mysql-server名字需要与compose.yml文件一致
docker-compose restart mysql-server #重启某一个容器
docker-compose ps #查看容器运行状态
3.外部访问容器,比如连接数据库,需要将端口号映射出来,否则docker-compose可访问,但是外界访问不到
执行docker-compose ps查看情况
[parim@localhost bonc-dev]$ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------
bonc-dev_activemq_1 /bin/bash ./bin/docker-ent ... Up 61616/tcp, 8161/tcp
bonc-dev_app_1 /bin/bash ./bin/docker-ent ... Up 8091/tcp, 8092/tcp
bonc-dev_doc-converter_1 /bin/bash ./bin/docker-ent ... Up
bonc-dev_mongo-server_1 docker-entrypoint.sh mongod Up 27017/tcp
bonc-dev_mysql-server_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3308->3306/tcp, 33060/tcp #已经映射
bonc-dev_nginx_1 nginx -g daemon off; Up 0.0.0.0:12380->80/tcp #已经映射
bonc-dev_redis-server_1 docker-entrypoint.sh redis ... Up 6379/tcp #没有映射
bonc-dev_video-converter_1 /bin/bash ./bin/docker-ent ... Up
映射需要在docker-compose.yml文件进行端口的配置
mysql-server:
image: mysql:5.7
ports:
- "3308:3306" #增加ports设置,3308为映射外部端口,3306为MySQL原端口
volumes:
- "./db/mysql/data:/var/lib/mysql"
- "./db/mysql/conf.d:/etc/mysql/conf.d"
# hostname: mysql-server
user: 1000:1000
tty: true
environment:
- MYSQL_ROOT_PASSWORD=***
- TZ=Asia/Shanghai
- MYSQL_USER=***
- MYSQL_PASSWORD=***
- MYSQL_DATABASE=***
restart: always