Docker中怎么搭建一个java运行环境,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
成都创新互联专注于企业成都全网营销、网站重做改版、修文网站定制设计、自适应品牌网站建设、H5场景定制、成都商城网站开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为修文等各大城市提供网站开发制作服务。
首先还是要打好自己的jar包而后编写dockerfile文件:
FROM openjdk:8-jdk-alpine ENV LANG C.UTF-8 RUN apk --update add ttf-dejavu && \ rm -rf /var/cache/apk/* MAINTAINER "haolin#189.cn" LABEL description="jarrunner" WORKDIR app ADD admin.jar /app/app.jar EXPOSE 8081 CMD java -jar /app/app.jar
主要是添加字体库。
完成之后执行docker build -t 用户名/镜像名:1.01 . 就可以完成镜像封装了
通过docker image ls查看镜像就能看到打好的镜像包。
而后构建docker-compose文件,通过设置映射目录将运行目录下的app目录映射到docker中,jar包改名为app.jar即可。
volumes:
- ./app:/app
本人还是建议docker和MySQL打包到一起:
version: '3' services: app: container_name: XXXX_app image: haol666/XXXX:1.01 network_mode: "service:mysql" volumes: - ./app:/app depends_on: - mysql mysql: container_name: xxxx_mysql image: mysql:5.7 command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 --max_allowed_packet=128M --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO" environment: TZ: Asia/Shanghai MYSQL_DATABASE: XXXX MYSQL_ROOT_PASSWORD: XXXX MYSQL_USER: 'XXXX' MYSQL_PASS: 'XXXX' MYSQL_HOST: '%' volumes: - ./data:/var/lib/mysql ports: - "8080:443" expose: - "8080"
配置完成之后通过:
docker-compose up创建镜像
通过docker-compose start启动镜像
通过docker-compose stop停止镜像
docker-compose down删除镜像。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。