server:
port: 8080
spring:
datasource:
url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: root
mybatis:
mapper-locations:
- classpath:mapper/*.xml
- classpath*:commapper/*.xml
1.2、pom.xml
1.3、docker-compose.yml4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.3.RELEASE com.wnx.mall.tiny mall-tiny-docker-compose 0.0.1-SNAPSHOT mall-tiny-docker-compose Demo project for Spring Boot UTF-8 UTF-8 1.8 true org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-aop org.springframework.boot spring-boot-starter-test test com.github.pagehelper pagehelper-spring-boot-starter 1.2.10 com.alibaba druid-spring-boot-starter 1.1.10 org.mybatis.generator mybatis-generator-core 1.3.7 mysql mysql-connector-java 5.1.49 io.springfox springfox-swagger2 2.7.0 io.springfox springfox-swagger-ui 2.7.0 org.springframework.boot spring-boot-maven-plugin com.spotify docker-maven-plugin 1.1.0 build-image package build mall-tiny/${project.artifactId}:${project.version} http://106.55.226.70:2375 java:8 ["java", "-jar","/${project.build.finalName}.jar"] / ${project.build.directory} ${project.build.finalName}.jar
version: '3'
services:
# 指定服务名称
db:
# 指定服务使用的镜像
image: mysql:5.7
# 指定容器名称
container_name: mysql
# 指定服务运行的端口
ports:
- 3306:3306
# 指定容器中需要挂载的文件
volumes:
- /mydata/mysql/log:/var/log/mysql
- /mydata/mysql/data:/var/lib/mysql
- /mydata/mysql/conf:/etc/mysql
# 指定容器的环境变量
environment:
- MYSQL_ROOT_PASSWORD=root
# 指定服务名称
mall-tiny-docker-compose:
# 指定服务使用的镜像
image: mall-tiny/mall-tiny-docker-compose:0.0.1-SNAPSHOT
# 指定容器名称
container_name: mall-tiny-docker-compose
# 指定服务运行的端口
ports:
- 8080:8080
# 指定容器中需要挂载的文件
volumes:
- /etc/localtime:/etc/localtime
- /mydata/app/mall-tiny-docker-compose/logs:/var/logs
2、Linux环境准备
2.1、下载Docker
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce systemctl start docker2.2、配置并启动Dokcer
- 修改docker.service
docker run -d -p 5000:5000 --restart=always --name registry2 registry:2 vi /usr/lib/systemd/system/docker.service 修改的部分:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
- 支持HTTP上传镜像
echo '{ "insecure-registries":["106.55.226.70:5000"] }'>/etc/docker/daemon.json
systemctl daemon-reload
systemctl stop docker
systemctl start docker
3、启动服务
3.1、启动MySQL服务
- 运行MySQL并进入容器内部
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 docker exec -it mysql /bin/bash
- 让MySQL支持远程连接
mysql -uroot -proot grant all privileges on *.* to 'root'@'%';
- 导入SQL文件
create database mall character set utf8; window连接导入sql3.2、Docker-compose配置
- 下载Docker-compose并设置文件权限,通过查看版本来验证安装成功了吗?
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose --version
-
Lifecycle>package,打包成镜像上传Docker
-
将docker-compose.yml上传至Linux服务器
-
运行Docker Compose命令启动所有服务
docker-compose up -d4、测试
http://106.55.226.70:8080/swagger-ui.html



