如何解决如何使用两个Java应用程序和Mysql服务器创建docker容器?
我有一个Java应用程序,它使用来自Mysql数据库的binlog并与托管在本地主机上的另一个服务进行交互。如何使用所有这些服务创建Docker映像,以便可以一次运行它们?
根据我所听到的,我需要使用docker-compose。但是我真的不知道该怎么做吗? 是否创建单独的Docker容器并链接其端口? 我要创建一个容器吗?
我为Java应用程序创建了一个Dockerfile:
FROM maslick/minimalka:jdk11
WORKDIR /app
EXPOSE 8080
COPY target/foster-maxwell-uber-jar.jar foster-maxwell.jar
COPY config.properties config.properties
CMD java -jar foster-maxwell.jar --config_type MAXWELL_UNSIGNED_KAAS --kaas_config config.yml --zk_timeout 1000
我该怎么做?很抱歉出现菜鸟问题。
解决方法
您应该阅读docker-compose文档:https://docs.docker.com/compose/compose-file/
例如,尝试使用 docker-compose.yml 文件
version: '3.8'
services:
your-java-app1:
build:
context: . <-- (dir where you have your Dockerfile)
dockerfile: Dockerfile
image: yourjavaapp1image:1.0
container_name: your-java-app1
depends_on:
- db
your-java-app2:
build:
context: . <-- (dir where you have your Dockerfile_for_app2)
dockerfile: Dockerfile_for_app2
image: yourjavaapp2image:1.0
container_name: your-java-app2
depends_on:
- db
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: [put here your root pass]
MYSQL_DATABASE: [put here your db name]
MYSQL_USER: [put here your user]
MYSQL_PASSWORD: [put here your pass]
一旦定义了Dockerfile,首先,使用您的应用构建映像:
docker-compose build
然后运行图像(创建容器)
docker-compose up -d
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。