OR博客
Docker入门(五)Docker Compose部署Spring Boot访问MySQL
苗锦洲
创建于:2021-09-27 16:57:42
0
33
274
0
Docker Compose部署Spring Boot访问MySQL

Docker Compose 部署 Spring Boot 访问 MySQL

Docker 入门系列

Docker 入门(一)安装 Docker - 苗锦洲的个人博客 (ordinaryroad.top)
Docker 入门(二)安装 Docker-Compose (ordinaryroad.top)
Docker 入门(三)Docker Compose 部署 MySQL - 苗锦洲的个人博客 (ordinaryroad.top)
Docker 入门(四)Docker Compose 部署 Redis - 苗锦洲的个人博客 (ordinaryroad.top)
Docker 入门(五)Docker Compose 部署 Spring Boot 访问 MySQL - 苗锦洲的个人博客 (ordinaryroad.top)

Dockerfile

# Docker image for springboot file run # VERSION 0.0.1 # Author: eangulee # 基础镜像使用java FROM java:8 # 作者 MAINTAINER miaojinzhou <1962247851@qq.com> #工作目录 #WORKDIR /opt/docker/blog/ # VOLUME 指定了临时文件目录为/tmp。 # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp VOLUME /tmp #声明了容器应该打开的端口,实际上不会有什么操作,只是一个提示 #EXPOSE 80 443 #定义参数 #ARG JAR_FILE # 时区配置 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone # 环境变量 #ENV HOST 81.70.194.184 # 将jar包添加到容器中并更名为app.jar ADD *.jar app.jar #拷贝本地文件到镜像中#复制上下文目录下的target/demo-1.0.0.jar 到容器里 #COPY ${JAR_FILE} penguin-log-web.jar # COPY和ADD的区别时COPY的SRC只能是本地文件,其他用法一致。 # 运行jar包 #RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

docker-compose.yml 配置

version: '3' services: hello_docker: build: context: . dockerfile: Dockerfile image: hello_docker:1.0.0 # 自动添加host extra_hosts: - "master:192.168.56.100" container_name: hello_docker restart: always networks: - nets ports: - "9260:9260" networks: nets: external: false

打包镜像

项目 Git 地址:1962247851/hello_docker: 简单的 Spring Boot 项目,访问 master 虚拟机 Docker Compose 部署的 MySQL 和 Redis (github.com)

先将 jar 包和 Dockerfile 复制到 Vagrantfile 所在目录(Vagrant 默认 Vagrantfile 所在目录就是共享目录)

然后在 master 上执行

touch /vagrant/Dockerfile touch /vagrant/hello_docker-0.0.1-SNAPSHOT.jar

重启 master,可以触发自动同步,然后复制到 docker-compose.yml 所在目录,执行

docker-compose build

运行

docker-compose up -d

进入容器查看 Host

[root@master hello_docker]# docker exec -it eeb6f53963cf bash ccartroot@eeb6f53963cf:/# cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 192.168.56.100 master 172.19.0.2 eeb6f53963cf root@eeb6f53963cf:/#

可以看到自动增加了

192.168.56.100 master
评论
楼主暂时不想被别人评论哦~