compose部署

发布时间:2024年01月22日

目录

1. 自定义镜像部署

2. tomcat部署

3. wait脚本集成


正文:

如何使用docker部署java项目:

1.jar? ?

? ? ?1.1 通过Dockerfile自定义镜像

? ? ?1.2 将spring.jar放到一个自定义的镜像中

? ? ?1.3? 通过镜像生成容器就行

?编写dockerfile文件

vim Dockerfile

在里面写入以下

FROM openjdk:latest
WORKDIR /project
COPY spring.jar /project
CMD java -jar spring.jar --mysql.addr=m1

?创建容器

docker build -t spring:v1 .

?运行3个容器

docker run -itd spring:v1

docker run -itd spring:v1

docker run -itd spring:v1

查看一下

docker ps

运行

docker run -itd \
--name t1 \
tomcat:8.5.20

创建目录

mkdir -p tomcat/webapps

cd 进入目录

cd tomcat/webapps

把jar包放入

删除容器的代码:

docker rm -f t1

运行以下代码:?

docker run -itd \

-v? /root/soft/mysql/conf/my.cnf:/etc/my.cf \

-v /root/soft/mysql/data:/var/lib/mysql \

-v /root/soft/mysql/script:/script \

--privileged=true \

-e MYSQL_ROOT_PASSWORD=123456 \

--name m1 \

--net my_net \? (指定使用自定义网络

mysql/mysql-server:5.7

docker run -itd \
--name t1 \
-v /root/soft/tomcat/webapps/:/usr/local/tomcat/webapps \
--privileged=true \
-p 8080:8080 \

--net my_net \
tomcat:8.5.20

进去修改配置文件?

<<使用容器名代表ip的写法只允许出现在自定义网络中>>

docker network create --subnet=172.33.0.1/16 my_net

---------------------------将语句改成docker-compose版本---------------------------------------

编辑文件:

vim docker-compose.yml

把下面的内容放进去

version: "3"
services:
  mysql:
    container_name: m1
    volumes:
      - /root/soft/mysql/conf/my.cnf:etc/my.cnf
      - /root/soft/mysql/data:/var/lib/mysql
      - /root/soft/mysql/script:script
    privileged: true
    environment:
      -  MYSQL_ROOT_PASSWORD=123456
    image: tomcat:v1
    command: "./wait-for-it.sh -t 20 m1:3306 -- catalina.sh run"
      
tomcat:
  container_name:t1
  volumes:
    - /root/soft/tomcat/webapps/:/user/local/tomcat/webapps
  privileged:true
  ports:
    - "8080:8080"
  networks:
    - my_net
  image:tomcat:8.5.20
networks:
  my_net:
    driver:bridge
    ipam:
      config:
        - subnet:172.33.0.1/16

放进去之后启动

docker-compose up -d

容器启动了 服务是否启动?depends_on依赖于xx?答:不是的

把wait-for-it.sh文件放到目录

给权限: chmod a+x wait-for-it.sh

./wait-for-it.sh www.baidu.com:80 -t 20

在vim Dockerfile 放入新内容

FROM tomcat:8.5.20

WORKDIR /usr/local/tomcat/bin

COPY ./wait-for-it.sh /usr/local/tomcat/bin/

RUN chmod 777 ./wait-for-it.sh

镜像

docker? build -t tomcat:v1 .

docker-compose stop tomcat //暂停容器

docker-compose rm tomcat? //删除容器

docker-compose stop mysql //暂停mysql

docker-compose up tomcat? //启动tomcat

docker-compose start mysql //启动mysql

?docker-compose up tomcat //启动tomcat

?

文章来源:https://blog.csdn.net/fddggghrr/article/details/135702466
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。