一、启动mysql
1、拉取mysql镜像
docker pull mysql:5.7.4
2、运行mysql的容器
docker run -d -p 7000:3306 -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.4
将容器的3306端口映射到宿主机的7000端口,
mysql 容器的 配置文件路径在 /etc/mysql/conf.d 数据存储路径在/var/lib/mysql
分别挂在到/docker/mysql/conf、/docker/mysql/data
启动后在本机连接测试成功,192.168.197.128是虚拟机的地址
二、IDEA中的配置
1、IDEA安装Docker Plugin
2、配置Docker开启外部访问
docker 默认是未开启外部访问的
idea 需要连接的话,需要额外配置,使其开启远程访问
vim /usr/lib/systemd/system/docker.service
保险起见 复制之前的文件并注释
使用我们下边这行代码配置 其暴露端口
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:6500 -H unix:///var/run/docker.sock
重启
systemctl daemon-reload
systemctl restart docker
3、IDEA中测试Docker连接
这是可以连接Docker了。
三、pom文件配置
这是我已经准备好了一个最基础的springboot用mybatis访问mysql数据库的应用
pom文件build部分增加
<!-- docker的maven插件,官网:https://github.com/spotify/docker-maven-plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<!-- 注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功 -->
<!-- 详见:https://github.com/spotify/docker-maven-plugin Invalid repository name ... only [a-z0-9-_.] are allowed-->
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!-- 指定Dockerfile所在的路径 -->
<dockerDirectory>${project.basedir}/docker</dockerDirectory>
<dockerHost>http://192.168.197.128:6500</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
properties增加
<properties>
<docker.image.prefix>registry.cn-hangzhou.aliyuncs.com/everest4/test</docker.image.prefix>
<startup.main>com.everest.springboot.SpringbootApplication</startup.main>
</properties>
四、编写Dockfile文件
#所需基础镜像
FROM openjdk:8-jdk-alpine
#作者信息
MAINTAINER everest<everest@163.com>
#具名挂载
VOLUME /docker/springboot
#端口暴露80
EXPOSE 8888
#将我们的jar 添加到容器中 并取名为application.jar
ADD springboot-1.0.jar application.jar
# 执行命令
ENTRYPOINT ["java","-Xmx350m","-jar" ,"application.jar"]
五、执行打包命令
mvn clean package docker:build
打包完成后就可以看到新的image了
六、运行image
docker run -d -p 6501:8888 2d962139f60e
没有输出其他的说明启动成功
七、接口测试
这样我们就通过在docker中部署的springboot应用访问到mysql数据库中的数据了。
参考博客: