14 .docker部署若依

发布时间:2024年01月10日

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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。