下载docker并安装完成后,使用 docker pull 拉取镜像(这次拉取了mysql,jdk8) 可以通过docker -image查看,拉取镜像后,就可以创作镜像对应的容器,本项目拉取mysql镜像创建ycmysql(创建镜像使用-p指定端口映射,如ycmysql localhost3308端口与3306对应 宿主机的一个端口只能映射到容器内部的某一个端口上,容器内部的某个端口可以被宿主机的多个端口映射)存储我们需要的res数据.(进入容器 docker exec -it ycmysql /bin/bash)
进入容器后创建数据库(create database res default character set = ‘utf8’;
show databases;)
如果有需要的话可以对mysql进行加密和密码更改.
docker 中的容器如果要互相访问,需要用到bridge网桥,桥接起两个容器,以新建一个testmysql为例,桥接了testmysql和ycmysql之后,可以通过testmysql访问ycmysql中的数据,首先创建bridge网桥,docker network create -d bridge 网络id(ycnetwork) 网桥创建好后,连接容器和网桥(docker network connect ycnetwork ycmysql)此时查看网桥具体信息(docker network inspect ycnetwork)记录mysql的ip信息.
在idea中打开res项目,导入相关配置:Dockerfile(定制镜像) application-init.yml(其中调用了sql语句往数据库中添加内容,url桥接的端口号为绑定ycmysql的端口号3308) application-prod(本yml中的url的location需要替换成刚刚记录的ycmyql的ip信息)
调用写的findall方法,可以在命令窗口查询到ycmysql中已被写入需要的信息.
通过maven打包成springboot包.
在idea的services中add service选择Docker connection TCP的socket会自动匹配到docker的端口,连接成功后,在images里选择刚刚打包好的springboot_res,右键新建容器,在bind prots中HostPort为该项目(application.yml)中的端口号,Containerport中为(application-prod)中的端口号Hostip为localhost name命名为res
res容器建好后,将res容器再次桥接上网桥ycnetwork,就可以通过res访问ycmysql.
网桥搭建好后尝试访问页面(localhost:10086)
第一次用docker
最新推荐文章于 2024-08-16 10:15:00 发布