首页 > 其他分享 >使用docker compose一键启动多个应用

使用docker compose一键启动多个应用

时间:2024-04-20 15:22:47浏览次数:29  
标签:opt compose exam 一键 nginx docker u01

使用docker compose一键启动多个应用

 

环境说明

linux系统版本:lsb_release -a

 

 

docker 版本: docker -v

 

 

不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。

 

 

.1.安装教程,参考官网安装指南。

https://dockerdocs.cn/compose/install/index.html

版本说明。

 

 

安装操作说明。

 

 

安装命令如下,

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

安装失败。因为该文件是保存在github上面的,需要连接外网,因此只能换种方式安装。

 

 

执行命令

yum -y install epel-release --allowerasing

yum -y install python3-pip

然后安装指定版本

pip3 install docker-compose==1.29.1

执行时报错如下,

 

 

大致错误信息的意思是需要升级pip3

 

升级命令如下

sudo python3 -m pip install --upgrade pip

 

 

然后命令又变为pip --version

 

 

再次执行

pip install docker-compose==1.29.1

安装成功

 

 

查看版本

docker-compose -v

 

 

.2.准备docker-compose.yml配置文件。

上传到服务器中指定的位置。最终的配置文件会放在最后面。

 

 

.3.启动docker compose服务.

docker compose up -d 注意事项:需要在docker-compose.yarm同一个目录下执行该命令!!

第一次报错,

 第十三行配置错误,注销后重新执行。

再次启动服务,有一个服务启动失败,其他服务启动成功。

 

 

初步来看是jar包的位置错误,没有正确挂载导致的。

 

 

修改Java服务相关配置后

    volumes:

      - "/opt/u01/exam/java/WebBackend.jar:/project/WebBackend.jar"

      - "/opt/u01/exam/java:/project"

    command: [

      'java',

      '-jar',

      'WebBackend.jar'

]

再次启动,执行同样的命令,之前的服务不受影响,不会重新启动。修改后,Java服务启动然后立马退出。查看日志,错误信息如下,

 

 

再次修改配置文件,jar文件需要加上容器内的绝对路径。

    command: [

      'java',

      '-jar',

      '/project/WebBackend.jar'

    ]

再次执行命令服务启动成功。

 

 

.4.测试服务是否正常。

nginx服务正常。

 

 

mysql数据库连接正常。

 

 

redis服务正常。

 

 

后台服务异常,无法打开。

 

 

查看日志信息如下,

 

 

最后排查到问题时因为自己在配置时,Java服务的端口设置错误,修改后重新启动服务即可。

 

 

最终的docker-compose.yarm配置文件信息如下,

version: '3.8'

networks:

  bigstuff:

services:

  mysql:

    image: mysql:5.7

    container_name: mysql

    ports:

      - "自己设置端口:3306"

    environment:

      TZ: Asia/Shanghai

      MYSQL_ROOT_PASSWORD: 自己设置密码

      #MYSQL_ROOT_HOST: %

    volumes:

      - "/opt/u01/exam/mysql/my.cnf:/etc/mysql/my.cnf"

      - "/opt/u01/exam/mysql/logs:/var/log/mysql"

      - "/opt/u01/exam/mysql/data:/var/lib/mysql"

    networks:

      - bigstuff

  redis:

    image: redis:6.0.8

    container_name: redis

    ports:

      - "自己设置端口:6379"

    environment:

      TZ: Asia/Shanghai

    volumes:

      - "/opt/u01/exam/redis/redis.conf:/usr/local/etc/redis/redis.conf"

      - "/opt/u01/exam/redis/data:/data"

      - "/opt/u01/exam/redis/log:/logs"

    #配置文件启动

    command: redis-server /usr/local/etc/redis/redis.conf --appendonly yes

    networks:

      - bigstuff

  webbackend:

    image: openjdk:8

    container_name: webbackend

    ports:

      - "自己设置端口:8080"

    volumes:

      - "/opt/u01/exam/java/WebBackend.jar:/project/WebBackend.jar"

      - "/opt/u01/exam/java:/project"

    command: [

      'java',

      '-jar',

      '/project/WebBackend.jar'

    ]

    depends_on:

      - mysql

      - redis

    networks:

      - bigstuff

  nginx:

    image: nginx:1.24.0

    container_name: nginx

    ports:

      - "443:443"

    volumes:

      - "/opt/u01/exam/nginx/html:/usr/share/nginx/html"

      - "/opt/u01/exam/nginx/log:/var/log/nginx"

      - "/opt/u01/exam/nginx/nginx.conf:/etc/nginx/nginx.conf"

      - "/opt/u01/exam/nginx/yilangcode.xyz.key:/etc/nginx/yilangcode.xyz.key"

      - "/opt/u01/exam/nginx/yilangcode.xyz.pem:/etc/nginx/yilangcode.xyz.pem"

    networks:

      - bigstuff

 

参考博文:

https://forums.centos.org/viewtopic.php?t=76065

https://blog.csdn.net/qq_39626154/article/details/82753412

https://www.cnblogs.com/qinlangsky/p/12653880.html

https://juejin.cn/post/7042663735156015140

https://cloud.tencent.com/developer/article/2317630

https://juejin.cn/post/7081931407630532616

https://developer.aliyun.com/article/1443415

标签:opt,compose,exam,一键,nginx,docker,u01
From: https://www.cnblogs.com/yilangcode/p/18147724

相关文章

  • docker 数据卷查看以及数据删除
    如何清理您的Docker数据Docker不需要对系统进行配置更改…但它却使用大量的磁盘空间。短暂的使用后,通过下面命令您可能会震惊地看到一些可怕使用统计信息:dockersystemdf不过不用担心,Docker允许您从未使用的images,containers和volumes中回收磁盘空间。定期清理为了安全......
  • linux 手动安装 php composer
    官网说明:composer官网地址下载安装文件:wgethttps://getcomposer.org/installer下载的文件名叫installer,重命名为php文件:mvinstallerphp-setup.phpphp执行安装文件:phpphp-setup.php然后在当前文件夹目录下多出一个文件:composer.phar将该文件移动到bin目录下:sudomvc......
  • 使用Docker部署TDengine集群
    TDengine集群部署TDengine是一款高性能、分布式、支持SQL的时序数据库(Database)。1.集群管理TDengine支持集群,提供水平扩展的能力。如果需要获得更高的处理能力,只需要多增加节点即可。TDengine采用虚拟节点技术,将一个节点虚拟化为多个虚拟节点,以实现负载均衡。同时,TD......
  • centos6.5重启docker容器死机问题
      概述近期在整理服务问题,使用docker容器重新部署服务。过程中有不少坑,主要是系统配置和系统版本的问题。环境CentOSrelease6.5(Final)dockerversion1.7.1问题现象使用restart命令重启docker容器,系统突然卡死,并不断重启,重启3次后恢复。检查系统日志“/var/log/......
  • APP阿里云一键取号 (一键登陆)php接口-- (阿里云号码认证服务)
    #通过composer安装阿里云SDK"alibabacloud/dypnsapi-20170525":"^1.1.2","alibabacloud/darabonba-openapi":"^0.2.10","alibabacloud/tea-console":"^0.1.0","alibabacloud/tea-utils":"^0......
  • 性能测试——性能测试-课程-docker命令
    我自己的学习整理:https://www.cnblogs.com/xiaobaibailongma/category/2011457.html 课程截图——简介版本:        ......
  • 使用 Docker 部署 Draw.io 在线流程图系统
    1)介绍Draw.ioGitHub:https://github.com/jgraph/drawioDraw.io是一款开源的绘制流程图的工具,拥有大量免费素材和模板。程序本身支持中文在内的多国语言,创建的文档可以导出到多种网盘或本地。无论是创建流程图、组织结构图、网络拓扑图还是其他类型的图表,Draw.io基本都能满足......
  • 6.Centos7 安装最新版本 Kubernetes + Docker
    在Centos7安装最新版本Kubernetes+Docker1.容器运行时说明:v1.24之前的Kubernetes版本直接集成了DockerEngine的一个组件,名为dockershim。自1.24版起,Dockershim已从Kubernetes项目中移除。需要在集群内每个节点上安装一个容器运行时以使Pod可以运行在上面......
  • docker部署苍穹外卖
    首先修改配置信息和自己的docker部署信息相符:MySQL、redis。记得把MySQL数据导上去(记得数据库信息的完整) 1.通过maven下载三个jar包 2.上传,编写dockerfile,注意这些文件放在一级,注意dockerfile的命名 #使用JDK8作为基础镜像FROMopenjdk:8-jdk#创建一个目录用......
  • Kubernetes(k8s)与docker的区别
    k8s与docker的区别Kubernetes(通常简称为"k8s")和Docker是两个不同的技术,它们在容器化应用程序方面扮演着不同的角色。Docker是一种开源的容器化技术,它允许应用程序在一个独立、可移植的容器中运行。容器化是一种将应用程序及其所有依赖项打包到一个独立、可移......