一、将springboot项目打包并制成镜像
1.在项目根目录运行mvn clean 清空打包内容,再运行mvn package将项目打包成jar包。
2.在jar包同级目录下创建一个dockfile,如下图(基础镜像java,使用官方docker的java源,docker pull java)
3.在Centos7*问该文件,使用docker build -t springboot/demo .(.当前路径的dockerfile),即可制成镜像;
4.使用docker run -d -p 80:80 --name=“web” springboot/demo运行容器。参数t表示容器后台运行并返回容器id,p表示docker的80映射到Centos7的80端口;
5.查看运行的容器
6.在本机查看运行的web项目,编辑虚拟机网络设置,进行端口映射;
二、制作MySQL的Docker镜像与容器
因为容器的项目无法访问本机的数据库,所以需要制作一个docker镜像与容器
1.拉取MySQL官方镜像 docker pull mysql/mysql-server
2.容器退出后不保存数据,所以创建挂载节点(mkdir /usr/mysql_data),创建容器
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=4396777 -v /usr/mysql_data:/var/lib/mysql --name=“mysql” mysql/mysql-server(-e 设置mysql的root账户密码,-v将docker的/var/lib/mysql映射到centos7的/usr/mysql_data)
3.连接MySQL
docker exec -it mysql bash(进入mysql),在输入root密码mysql -u root -p
windows远程访问docker容器的mysql,在Navicat连接数据库出现1130error,需要设置访问权限,如下:
use mysql;
select ‘host’ from user where user=‘root’;
update user set host = ‘%’ where user =‘root’;
flush privileges;
登录成功,能访问到docker容器的mysql了。