十 SpringCloud - Docker( 五 )

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容器的配置文件 和 数据文件 挂载到宿主机 备份 (正确思路)# 创建两个文件夹 , 存放容器的配置文件和数据文件mkdir /usr/local/kh96/docker/mount-mysql03/confmkdir /usr/local/kh96/docker/mount-mysql03/data# 创建并mysql03容器并挂载 配置文件和数据文件到 宿主机docker run -itd --name mysql03 -e MYSQL_ROOT_PASSWORD=root -p 3310:3306 -v /usr/local/kh96/docker/mount-mysql03/conf:/etc/mysql/conf.d -v /usr/local/kh96/docker/mount-mysql03/data:/var/lib/mysql mysql:5.7.30# 创建并运行成功 , 远程连接成功;

经验总结扩展阅读