Docker部署项目
Docker部署mysql
docker pull mysql
拉取mysql镜像
docker run -d --name Mysql01 -p 9506:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=lc5424364 mysql:latest
这里–name Mysql01指定容器的别名,-p 9506:3306映射端口,-v /data/mysql:/var/lib/mysql挂载文件,
-e MYSQL_ROOT_PASSWORD=lc5424364设置初始密码,mysql:latest是镜像name和tag。
部署完成之后可以通过sqlyog远程连接数据库来执行sql语句导入数据。
Docker部署后端项目
前提:项目打包之前修改好了数据库端口(本文章上面数据库是9506),还有localhost改为服务器ip地址,还有jar包运行要监控的端口(本文指定8080)
第一步
在idea利用maven进行打包,把jar包通过xftp传到linux服务器,在jar包同级目录下创建Dockerfile文件,写入以下内容
FROM java:8
VOLUME /tmp
ADD authority.jar authority.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/authority.jar"]
解释:
FROM java:8表示要依赖java8的镜像,FROM指定基础镜像
VOLUME /tmp
指定挂载点
该指令使容器中的⼀个⽬录具有持久化存储的功能,该⽬录可被容器本身使⽤,也可共享给其他容器。当容器中的应⽤有持久化数据的需求时可以在Dockerfile中使⽤该指令
EXPOSE 8080
声明在运⾏时容器提供服务的端⼝
ADD authority.jar authority.jar
从src⽬录复制⽂件到容器的根目录下。其中src可以是Dockerfile所在⽬录的相对路径,也可以是⼀个URL,还可以是⼀个压缩包
ENTRYPOINT ["java","-jar","/authority.jar"]
ENTRYPOINT表示镜像在初始化时需要执行的命令
第二步:拉取java8的镜像
docker pull java:8
第三步:构建镜像
docker build -t authority .
此时,docker images可以看到构建的镜像,-t authority是指定构成的镜像的名字
第四步:把jar包运行起来
docker run -d -p 8080:8080 --name authority-8080 authority
-p 8080:8080是端口映射,–name authority-8080指定容器的名字,authority是指定要运行的镜像的名字
Docker部署前端项目
第一步
如果是压缩包,首先要解压下来,zip压缩包解压方式:unzip example.zip,rar压缩包解压方式:首先需要安装unar
yum install epel-release -yyum install unar -y
解压方法:unar example.rar
解压完成后,该文件夹下是只有一个文件夹(example)的,example里面有index.html,在example同级目录下创建Dockerfile文件,写入以下内容:
FROM nginx:latestCOPY ./example /usr/share/nginx/html/EXPOSE 80
/usr/share/nginx/html/目录的意思是:nginx镜像里面nginx的主页面在该路径下,放进去我们的前端项目就会替换nginx的默认页面
第二步
docker build -t authority-ui .
第三步:运行前端的镜像
docker run -d -p 80:80 --name authority-ui--80 authority-ui
部署完成之后
后端在8080,数据库在9506,前端在80端口