十 SpringCloud - Docker( 四 )


十 SpringCloud - Docker

文章插图
4.2.2.4 创建并启动容器 并 访问先停止commit自定义提交的镜像tomcat02# docker stop tomcat02创建并启动容器# docker run -itd -p8080:8080 --name tomcat03 tomcat:8.5.73-jdk8-kh96通过服务器映射端口,访问docker容器tomcat
十 SpringCloud - Docker

文章插图
4.2.3 Dockerfile构建jdk+Springboot项目镜像4.2.3.1 资源添加创建一个目录存放资源# mkdir Dockerfile-springbootProject把项目jar包放到 Dockerfile-springbootProject 的目录下面
十 SpringCloud - Docker

文章插图
4.2.3.2 编辑DockerfileFROM java:8COPY *.jar /app.jarCMD ["--server.port=8080"]EXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"]4.2.3.3 执行构建命令构建(jdk+Springboot)服务镜像构建镜像 # docker build -t springboot:jdk8-springboot .构建完成后查看镜像# docker images
十 SpringCloud - Docker

文章插图
4.2.3.4 创建并启动容器创建并启动容器# docker run -itd -p8080:8080 --name springboot01 springboot:jdk8-springboot查看容器# dockers ps
十 SpringCloud - Docker

文章插图
4.2.3.5 postman访问请求
十 SpringCloud - Docker

文章插图
5、挂载共享数据5.1 挂载测试5.1.1 创建容器并指定挂载路径语法# -v [宿主机路径]:[镜像路径]创建容器mysql03将宿主 机的/usr/local/kh96/docker/mount-test挂载到容器mysql03的/usr/local/kh96/docker/mount-test主要命令#-v/usr/local/kh96/docker/mount-test:/usr/local/kh96/docker/mount-test完整命令# docker run -itd --name mysql03 -e MYSQL_ROOT_PASSWORD=root -p 3310:3306 -v/usr/local/kh96/docker/mount-test:/usr/local/kh96/docker/mount-testmysql:5.7.30查看容器#docker ps
十 SpringCloud - Docker

文章插图
5.1.2 查看挂载信息查看容器详细信息# docker inspect mysql03
十 SpringCloud - Docker

文章插图
5.1.3 修改测试5.1.3.1 宿主机:修改宿主机上的内容后:
十 SpringCloud - Docker

文章插图
5.1.3.2 容器:查看容器上的内容也发生了变化
十 SpringCloud - Docker

文章插图
5.1.4 停止容器后,修改宿主机上的内容5.1.4.1 宿主机:
十 SpringCloud - Docker

文章插图
5.1.4.2 容器:
十 SpringCloud - Docker

文章插图
5.1.4.3 总结关闭容器后,修改数据也会同步 。
5.2 挂载宿主机mysql数据和配置文件 到mysql容器(想错了)5.2.1 错误5.2.1.1 mysql:Job for mysqld.service failed because the control process exited with error#本来想挂载配置文件和数据文件# 使用一下命令docker run -itd --name mysql03 -e MYSQL_ROOT_PASSWORD=root -p 3310:3306 -v /etc/my.cnf:/etc/my.cnf -v /var/lib/mysql:/var/lib/mysql mysql:5.7.30# 但是创建容器后无法启动;# 后面就只挂载了mysql数据文件docker run -itd --name mysql03 -e MYSQL_ROOT_PASSWORD=root -p 3310:3306 -v /var/lib/mysql:/var/lib/mysql mysql:5.7.30#容器myslq03可以正常启动,远程也可以正常连接,但是宿主机上的mysql无法启动了;报错信息#mysql:Job for mysqld.service failed because the control process exited with error后面一直根据查询网上的解决方法都没有解决;5.2.1.2 InnoDB: The innodb_system data file 'ibdata1' must be writable最后看十查看mysql的错误日志,然后根据错误日志# InnoDB: The innodb_system data file 'ibdata1' must be writable查到解决方式# chmod -R 777 /var/lib/mysql解决问题博客原文连接:https://blog.csdn.net/weixin_40744265/article/details/91398308https://blog.csdn.net/saywhat_sayhello/article/details/81294687后面突然理解错了 , 我以为是将宿主机的配置文件和数据挂进去然后进行数据的同步;5.3 将mysql03容器的配置文件 和 数据文件 挂载到宿主机 备份 (正确思路)

推荐阅读