14 .docker部署若依
2024-01-10 15:55:23
0.参考资料
https://blog.csdn.net/Pan_peter/article/details/128807946
1. 创建网络
因为java容器的运行需要访问mysql和redis容器,nginx容器需要访问java容器,所以需要创建一个他们能互相访问的网络。
创建一个叫做my-network的局域网,设置网段和网关。
sudo docker network create --subnet=172.18.0.0/16 --gateway=172.18.0.1 my-network
2.制作java容器
- 拉java8的容器
docker pull java:8
- 在jar文件的同级目录下,新建Dockerfile文件,没有后缀,文件名就是Dockerfile
#基础镜像使用jdk1.8
FROM java:8
#作者
MAINTAINER pan
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名
ADD winapp-admin.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
# 为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#ENTRYPOINT ["nohup","java","-jar","/data/cat/ruoyi-admin.jar","&"]
#暴露port端口
EXPOSE 80
- 制作镜像
sudo docker build -t app:1.0 .
3.容器启动
- 1.启动mysql容器
mkdir /home/winup/data/docker/mysql
mkdir /home/winup/data/docker/mysql/datadir
mkdir /home/winup/data/docker/mysql/conf
mkdir /home/winup/data/docker/mysql/log
sudo docker run --restart=always --network=my-network --ip 172.18.0.7 --name docker_mysql_57 -p 3306:3306 -v /home/winup/data/docker/mysql/datadir:/var/lib/mysql -v /home/winup/data/docker/mysql/conf:/etc/mysql/conf.d -v /home/winup/data/docker/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD='123456' -d mysql:5.7
- 2.启动redis容器
mkdir /home/winup/data/docker/redis
mkdir /home/winup/data/docker/redis/data
sudo docker run --restart=always --network=my-network --ip 172.18.0.5 -d -v /home/winup/data/docker/redis/data:/data --name docker_redis -p 6379:6379 redis redis-server --requirepass "123456" --appendonly yes
- 3.启动nginx容器
sudo docker run --restart=always --network=my-network --ip 172.18.0.6 -p 28001:80 --name docker_winup_ui -v /home/winup/data/docker/ui/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/winup/data/docker/ui/conf/conf.d:/etc/nginx/conf.d -v /home/winup/data/docker/ui/log:/var/log/nginx -v /home/winup/data/docker/ui/html:/usr/share/nginx/html -d nginx:latest
- 4.启动java容器
sudo docker run --network=my-network --ip 172.18.0.8 --restart=always -d --name winup_app -p 28000:80 app:1.0
文章来源:https://blog.csdn.net/qq_25310669/article/details/135500997
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!