赞
踩
docker network create van_network
docker run -p 3307:3306 --name=mysql-master --privileged=true -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc/mysql -v /mydata/mysql-master/mysql-files:/var/lib/mysql-files --network=van_network -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0 --secure-file-priv=/var/lib/mysql-files
docker run --name redis --network=van_network -v /mydata/redis:/usr/local/etc/redis -v /mydata/redis/data:/data -d -p 6379:6379 redis --requirepass 123456
# 创建数据库 设置字符集
CREATE DATABASE docker
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
use docker;
CREATE TABLE `person` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
`age` int DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
接口地址1:ip:port/add/person/test
功能:随机生成三个人员信息,插入到mysql中,并更新到redis缓存中,接口返回生成的人员信息
接口地址2:ip:port/info/get/{id}
功能:从redis中查询指定的人员信息
配置信息如下:
其中redis和mysql的ip地址使用docker容器的服务名代替ip地址
spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://mysql-master:3306/docker?useUnicode=true&characterEncoding=utf-8&useSSL=true mybatis.mapper-locations=classpath:mybatis/**/mapping/*.xml mybatis.config-location=classpath:mybatis-config.xml ##============== redis =================== spring.redis.host=redis #Redis服务器连接端口 spring.redis.port=6379 #Redis服务器连接密码(默认为空) spring.redis.password=123456 #连接池最大连接数(使用负值表示没有限制) spring.redis.pool.max-active=200 #连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=-1 #连接池中的最大空闲连接 spring.redis.pool.max-idle=8 #连接池中的最小空闲连接 spring.redis.pool.min-idle=0 #连接超时时间(毫秒) spring.redis.timeout=30000 #连接池大小 spring.redis.max-total=300 management.endpoints.web.exposure.include=* management.endpoints.web.exposure.exclude=
docker run -d --name complex-demo --network=van_network -p 8081:8081 complex-demo-jar:1.0
安装Docker compose
安装教程请参考菜鸟教程
编写compose文件
#新建文件夹 complex-springboot-jar-docker-compose
mkdir complex-springboot-jar-docker-compose && cd complex-springboot-jar-docker-compose
#新建docker-compose.yml文件
vim docker-compose.yml
version: '2.2.3' services: # 服务名称 complex-springboot-service: # 微服务镜像,此处使用的是上一步(redis、mysql、springboot微服务分开部署)生成的镜像 image: complex-demo-jar:1.0 # 容器名称 container_name: complex-demo # 端口映射 ports: - "8081:8081" # 容器网络 networks: - van_network # 容器启动依赖项,配置之后会先启动依赖容器 depends_on: - redis - mysql redis: # redis镜像 image: redis # redis镜像容器名称 container_name: redis # redis容器的端口映射 ports: - "6379:6379" # redis容器的网络配置 networks: - van_network #挂载 volumes: - /mydata/redis:/usr/local/etc/redis - /mydata/redis/data:/data # redis的启动命令,设置默认密码 command: redis-server --requirepass 123456 mysql: # mysql镜像 image: mysql:8.0 # mysql容器的端口映射 ports: - "3307:3306" #mysql容器的挂载 volumes: - /mydata/mysql-master/log:/var/log/mysql - /mydata/mysql-master/data:/var/lib/mysql - /mydata/mysql-master/conf:/etc/mysql - /mydata/mysql-master/mysql-files:/var/lib/mysql-files #mysql容器的网络设置 networks: - van_network #mysql容器的名称 container_name: mysql-master #mysql容器的环境变量 environment: - MYSQL_ROOT_PASSWORD='root' # mysql容器的启动命令 command: --secure-file-priv=/var/lib/mysql-files #network设置 networks: van_network:
启动命令:docker-compose up -d
docker network ls
在compose.yml文件中设置的network,会自动在NAME前面加上当前文件夹名称。
docker ps
可以发现我们的服务已经正常启动
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。