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
?