docker-compose部署java项目

docker-compose是定义和运行多容器的工具。换句话说就是通过配置yml文件来运行容器,简化了每次输入docker run等命令,把这些命令配置在yml文件统一管理,而且可以用一个yml文件一次启动多个容器,启动时还可以设置各个容器的依赖关系等。

如下为测试docker-compose启动java程序
1. docker-compose.yml

version: '3'
services:
  java05:
    build: .
    ports:
    - "3390:8080"
    volumes:
    - "/home/xiaoqu/dockerDemo/dockerLog:/log"
    environment:
      TZ: Asia/Shanghai

2. Dockerfile

FROM java:8
COPY demo01.jar demo01.jar
ENTRYPOINT [“java”,“-Djava.security.egd=file:/dev/./urandom”,“-jar”,“/demo01.jar”]

3. demo01.jar

链接:https://pan.baidu.com/s/1ocGEk9N3L4eVVah8nsZErQ?pwd=6666

4. 运行容器

把这三个文件放在一个文件中,运行 docker-compose up
在这里插入图片描述

5.停止运行并删除容器

运行docker-compose down ,会停止容器并删除容器

在这里插入图片描述
docker-compose简单命令介绍

version: '3'   #指定本 yml 依从的 compose 哪个版本制定的
services:   #容器集合(下面可以写多个容器)
  java05:   #java服务名称  可自定义
    #build: . #Dockerfile 文件的路径 如果写个点表示在当前目录,且文件名为Dockerfile,也可如下面一样配置详细信息
    build:
      context: ./dir  #存放Dockerfile的目录
      dockerfile: Dockerfile-dev #Dockerfile的名称
      args:
        buildno: 1  #添加构建参数,这是只能在构建过程中访问的环境变量
      labels:
        - "com.example.description=Accounting webapp"  #设置构建镜像的标签
        - "com.example.department=Finance"
      target: prod  #多层构建,可以指定构建哪一层
    ports:   #容器内容的端口映射
    - "3390:8080"
    volumes: #容器卷的挂载
    - "/home/xiaoqu/dockerDemo/dockerLog:/log"
    environment:
      TZ: Asia/Shanghai #设置环境变量,不设置容器内和外部的系统时间容易不一致
    depends_on:
      - redis #设置依赖关系,先启动redis再启动java05
  redis:  #redis服务名称 可自定义 
    image: redis #不通过Dockerfile构建镜像,直接获取镜像

docker-compose相关命令

docker-compose up #构建镜像并启动服务
docker-compose up -d #构建镜像并启动服务(后台启动)
docker-compose stop #停止所有服务 后面如果+容器名 就是 停止指定的容器
docker-compose restart #重启服务 后面如果+容器名 就是重启指定的容器
docker-compose start #启动文件中所有容器 后面如果+容器名 就是启动指定的容器
docker-compose build #构建服务的镜像
docker-compose ps #查看文件中所有容器的信息
docker-compose logs #查看容器日志
docker-compose exec 容器名称 command #在指定的容器中执行命令
docker-compose down #停止容器并删除容器,但不会删除构建的镜像
docker-compose pause #暂停容器 后面如果+容器名 就是暂停指定的容器
docker-compose unpause #恢复容器 后面如果+容器名 就是恢复指定的容器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/609110.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

远程开机与远程唤醒BIOS设置

远程开机与远程唤醒BIOS设置 在现代计算机应用中,远程管理和控制已成为许多企业和个人的基本需求。其中,远程开机和远程唤醒是两项非常实用的功能。要实现这些功能,通常需要在计算机的BIOS中进行一些特定的设置。以下是对远程开机和远程唤醒…

如何判断nat网络?如何内网穿透

大家都清楚,如果你想开车,就必须要给车上一个牌照,随着车辆越来越多,为了缓解拥堵,就需要摇号,随着摇号的人数越来越多,车牌对于想开车的人来说已经成为奢望。在如今的IPv4时代,我们…

全自动减压器法二氧化碳气容量测试仪:饮料行业的革新与未来

全自动减压器法二氧化碳气容量测试仪:饮料行业的革新与未来 一、引言 在追求品质与效率的现代饮料生产领域,全自动减压器法二氧化碳气容量测试仪凭借其高精度、高效率及无人工干预的显著优势,正逐渐成为行业的标杆。特别是在碳酸饮料的生产中…

USB系列五:USB设备配置(重要)

在USB总线接口协议中,对于USB外部设备功能特征是通过端点(Endpoint)、配置(Configuration)和接口(Interface)来描述的,这些就是典型的USB描述符。 USB主机通过设备请求来读取外部设…

并行执行线程资源管理方式——《OceanBase 并行执行》系列 3

在某些特定场景下,由于需要等待线程资源,并行查询会遇到排队等待的情况。本篇博客将介绍如何管理并行执行线程资源,以解决这种问题。 《OceanBase并行执行》系列的内容分为七篇博客,本篇是其中的第三篇。前2篇如下: 一…

分布式与一致性协议之Quorum NWR算法

Quorum NWR算法 概述 不知道你在工作中有没有遇到过这样的事情:你开发实现了一套AP型分布式系统,实现了最终一致性,且业务接入后运行正常,一切看起来都那么美好。 可是突然有同事说,我们要拉这几个业务的数据做实时分析&#xf…

AXI4读时序在AXI Block RAM (BRAM) IP核中的应用

在本文中将展示描述了AXI从设备(slave)AXI BRAM Controller IP核与Xilinx AXI Interconnect之间的读时序关系。 1 Single Read 图1展示了一个从32位BRAM(Block RAM)进行AXI单次读取操作的时序示例。 图1 AXI 单次读时序图 在该…

webpack如何自定义一个loader

我们在使用脚手架的搭建项目的时候往往都会帮我们配置好所需的loader,接下来讲一下我们要如何自己写一个loader应用到项目中(完整代码在最后) 1. 首先搭建一个项目并找到webpack配置文件(webpack.config.js) 在modul…

clickhouse学习笔记06

ClickHouse的建表和引擎选择思路讲解 ClickHouse的常见注意事项和异常问题排查 ClickHouse高性能查询原因剖析-稀疏索引 ClickHouse高性能写入剖析-LSM-Tree存储结构

嵌入式开发十:STM32开发基础入门知识补充

本篇博客主要是针对前面STM32入门基础知识的补充,为后面的真正开发学习做好准备。 目录 一、IO 引脚复用器和映射 1.1 引脚复用的概念 1.2 如何设计实现复用 1.3 复用功能固件库配置过程 二、STM32 NVIC 中断优先级管理 2.1 NVIC中断优先级管理结构体介绍 …

力扣每日一题-统计已测试设备-2024.5.10

力扣题目:统计已测试设备 题目链接: 2960.统计已测试设备 题目描述 代码思路 根据题目内容,第一感是根据题目模拟整个过程,在每一步中修改所有设备的电量百分比。但稍加思索,发现可以利用已测试设备的数量作为需要减少的设备电…

16地标准化企业申请!安徽省工业和信息化领域标准化示范企业申报条件

安徽省工业和信息化领域标准化示范企业申报条件有哪些?合肥市 、黄山市 、芜湖市、马鞍山、安庆市、淮南市、阜阳市、淮北市、铜陵市、亳州市、宣城市、蚌埠市、六安市 、滁州市 、池州市、宿州市企业申报安徽省工业和信息化领域标准化示范企业有不明白的可在下文了…

机器学习各个算法的优缺点!(上篇) 建议收藏。

下篇地址:机器学习各个算法的优缺点!(下篇) 建议收藏。-CSDN博客 今天有朋友聊起来,机器学习算法繁多,各个算法有各个算法的特点。 以及在不同场景下,不同算法模型能够发挥各自的优点。 今天…

Java之异常处理

一、认识异常 1.异常的概念 在 Java 中,将程序执行过程中发生的不正常行为称为异常。。比如之前写代码时经常遇到的: 1. 算术异常 System.out.println(10 / 0); // 执行结果 Exception in thread "main" java.lang.ArithmeticException: /…

深化产教融合,泰迪智能科技助力西南林业大学提质培优

2024年5月7日,泰迪智能科技昆明分公司院校部总监查良红和数据部负责人余雄亮赴西南林业大学理学院就工作室共建事宜进行交流会谈。西南林业大学理学院院长张雁、党委副书记魏轶、副院长谢爽、就业负责人罗丽及学生代表参与本次交流会。 会议伊始,谢副院长…

FPGA HDMI Sensor无线航模摄像头

FPGA方案,接收摄像头sensor 图像数据后,通过HDMI输出到后端 客户应用:无线航模摄像头 主要特性: 1.支持2K以下任意分辨率格式 2.支持多种型号sensor 3.支持自适应摄像头配置,并补齐输出时序 4.可定制功能&#xff…

休斯《公共管理导论》第4版教材精讲视频网课+考研真题讲解

内容简介 本课程是休斯《公共管理导论》(第4版)精讲班,为了帮助参加研究生招生考试指定考研参考书目为休斯《公共管理导论》(第4版)的考生复习专业课,我们根据教材和名校考研真题的命题规律精心讲解教材章节…

HR招聘面试测评,如何判断候选人的创新能力?

创新能力代表着一个人的未来发展潜力,创新能力突出的人,未来的上限就可能更高。而对于一个公司而言,一个具有创新能力的员工,会给公司带来新方案,新思路,对公司的长远发展拥有着十分积极的作用。 而在挑选…

【讲解下迭代加深搜索】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

科林算法_3 图

一、图论基础 多对多的关系 定义&#xff1a;G(V,E) Vertex顶点 Edge边 顶点的集合V{v1,v2} 边的结合E{(v1,v2)} 无向图(1,2) 有向图<1,2> 依附&#xff1a;边(v1,v2)依附于顶点v1,v2 路径&#xff1a;&#xff08;v1,v2)(v2,v3) 无权路径最短&#xff1a;边最少…
最新文章