一、安装docker
见centos7安装docker文章
开机自启docker
systemctl enable docker.service
二、安装Mysql 8.0镜像
1、拉取mysql镜像
docker pull mysql:8.0
2、开放防火墙端口
firewall-cmd --add-port=3306/tcp --permanent
3、重启防火墙配置
firewall-cmd --reload
4、创建容器
docker run -d --name mysql8.0-3306 --restart=always -p 3306:3306 -eMYSQL_ROOT_PASSWORD='pcl.0926' mysql:8.0
5、进入都容器内
docker exec -it mysql8.0-3306 bash
6、进入mysql
mysql -uroot -p
7、输入密码
*****
8、修改远程连接
mysql> grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.11 sec)
mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.11 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
9、退出数据库: exit
10、新建一个文件夹:mkdir project-01
11、进入文件夹:cd project-01
12、vi Dockerfile
13、编辑Dockerfile
`FROM java:8
VOLUME /tmp
ADD project-01-0.0.1-SNAPSHOT.jar project-01.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/project-01.jar"]
14、保存退出:wq
15、将打包后的jar复制到project-01目录下
16、创建镜像
docker build -t project-01 .
17、查看镜像是否创建成功
docker images
18、docker启动此镜像,指定好端口,同时记得处理服务器的端口开放问题。
查看FirewallD防火墙状态:
systemctl status firewalld
开启防火墙端口(因为docker运行前防火墙是关闭的,所以先开启防火墙 systemctl status firewalld
)
firewall-cmd --add-port=3306/tcp --permanent
重启防火墙设置
firewall-cmd --reload
关闭开机自启防火墙
systemctl disable firewalld.service
临时关闭防火墙
systemctl stop firewalld
docker run -p 8080:8080 project-01
运行过程没有报错则容器运行成功,如下图
然后直接访问对应接口地址即可。
`