1.--拉取mysq|8的镜像
docker pull mysql:8
2.--查看本地镜像
docker images
3.--利用镜像创建mysq|8的容器 本机端口为3308,解决编码问题
docker run -p 3308:3306 --name ycmysql8 -e MYSQL_ROOT_PASSWORD=a -d mysql:8 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
参数解释:
-p:端口映射,此处映射 主机3308端口 到 容器的3306端口
--name:后面接容器名
-e:配置信息,此处配置mysql的root用户的登陆密码
-d:表示以后台方式运行
4.--查看容器是否启动
docker ps -a
5.--进入容器 -it以交互式终端进入容器
docker exec -it ycmysql8 /bin/bash
6.--登录mysql
mysql -uroot -pa
7.--创建数据库 res
create database res;
8.--查看数据库
show databases;
9.--选择数据库;
use res;
10.--查看当前数据库下的所有表
show tables;
11.--查看当前数据库中是否有数据
select * from resfood;
12.--创建bridge网络
docker network create -d bridge ycnetwork
13.--两个容器通过bridge网络互连
docker network connect ycnetwork ycmysql8二、idea配置 测试类:
1.测试类 application-init.yml
注意点:
1.这是测试中的配置文件。是在本机上访问容器中的库,容器在本机上,通过端口映射就可以访问,所以地址是localhost:3308。
2.password为ycmysql8上的密码
2.测试类上加入激活注解
@ActiveProfiles("init")
main类:
1.main类 application.yml
2.首先保证 ycmysql8 联接到 ycnetwork的那个 bridge 。这样这个 res 上线后才能联接。
docker network connect ycnetwork ycmysql8 docker network inspect ycnetwork --查看 ycmysql8对应的ip
3.application-prod.yml
url:对应ycmysql8的地址
4.pom.xml
4.0.0 org.springframework.boot spring-boot-starter-parent2.6.4 com.xrl springbootdcitem0.0.1-SNAPSHOT springbootdcitem Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-configuration-processortrue com.alibaba druid1.2.8 com.baomidou mybatis-plus-boot-starter3.5.1 org.springframework.boot spring-boot-starter-webmysql mysql-connector-javaruntime org.projectlombok lomboktrue org.springframework.boot spring-boot-starter-testorg.junit.vintage junit-vintage-enginetest org.springframework.boot spring-boot-starter-jdbc${spring-restdocs.version} org.springframework.restdocs spring-restdocs-mockmvctest junit junittest org.testng testngRELEASE test org.springframework.boot spring-boot-maven-plugin2.6.4 repackage com.spotify dockerfile-maven-plugin1.4.13 build push javastack/${project.name} ${project.version} ${project.build.finalName}.jar Dockerfile
5.创建Dockerfile文件到项目目录下
6.docker暴露接口,Maven package , 输出的构建docker过程。 测试一下数据库中是否已经生成好了表和数据
7.手动创建docker连接
8.--将新创建的 res容器 联接到 ycnetwork的 bridge上.
docker network connect ycnetwork res
9.--查看 ycmysql8容器 和 res容器对应的ip
docker network inspect ycnetwork
10.测试网站
http://localhost:8080/



