将Docker镜像推送到阿里云仓库,使用Docker-compose将mysql、redis、jar包整合在一起

进入阿里云:

https://cr.console.aliyun.com 阿里云镜像控制台

选择个人实例

创建命名空间

创建镜像仓库

下一步之后,创建我们的本地仓库

创建好之后可以在个人实例里看到我们刚创建好的镜像仓库

点击我们的仓库进去里面,可以看到里面有我们的信息和一些可以执行的操作

登录镜像仓库,就是我们刚才点进仓库的第一行的登录阿里云那串

输入我们的密码,登录成功之后,我们在aliyun上在这个信息的下面两行,全部都拿过来,然后加上对应的版本号

推送成功之后刷新页面,可以看到我们的镜像被推送到了我们的仓库上

从仓库里拉取镜像

Docker Compose

Docker Compose概述

Docker Compose 定义

Docker Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器

Docker Compose产生背景

我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。.Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器,Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。

关系情况请看图

可以看到是有一定的隔离性的

安装dockercompose

将我们的文件包放在/usr/local/bin下

给这个文件赋权限

复制代码
chmod 755 dockercompose

查看版本

编排容器

准备一个项目 项目连接redis 和mysql

1、将项目打成jar包

2、准备dockerfile文件,将jar包和jdk放进去

复制代码
FROM openjdk:8
# jar 包添加到容器
ADD test.jar ./test.jar
EXPOSE 8089
# 命令
ENTRYPOINT ["java","-jar","test.jar","daemon off;"]

3、编排容器

复制代码
version: '3.8'  
  
services:  
  mysql:  
    image: mysql:5.7  
    environment:  
      MYSQL_ROOT_PASSWORD: root  
      MYSQL_DATABASE: security
    ports:  
      - "3306:3306"
    volumes:
      - /opt/mypro/mysql-data:/var/lib/mysql  
  
  redis:  
    image: redis:latest  
    ports:  
      - "6379:6379"
    volumes:
      - /opt/mypro/redis.conf:/usr/local/etc/redis/redis.conf
    command: redis-server /usr/local/etc/redis/redis.conf
  
  app:  
    build:
      context: .
      dockerfile: /opt/spbotredis/dockerfile
    ports:
      - "8089:8089" 
    depends_on:  
      - mysql 
      - redis 
    environment:  
      SPRING_DATASOURCE_URL: jdbc:mysql://192.168.227.99:3306/security
      SPRING_DATASOURCE_USERNAME: root  
      SPRING_DATASOURCE_PASSWORD: root  
      SPRING_REDIS_HOST: redis
启动

运行启动docker-compose.yml文件

复制代码
docker-compose up -d

要记住在当前文件夹下启动

下载完之后

查看容器
复制代码
docker-compose ps

三个分别对应的是我们的jar包、mysql、redis

运行成功,我们去访问页面

可以看到数据库也访问到了

那再看redis是否也添加上去了

可以看到,redis也成功添加上去了,那就说明没有问题

常用命令

docker-compose start # 启动docker-compose

docker-compose stop # 关闭docker-compose

docker-compose restart # 重启docker-compose

docker-compose down # 删除服务

相关推荐
2301_794333911 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
JCGKS2 小时前
Docker|“ssh: connect to host xxx.xxx.xxx.xxx port 8000: Connection refused“问题解决
docker·ssh·端口·listen·tcp三次握手
惜.己3 小时前
Docker启动失败 Failed to start Docker Application Container Engine.
spring cloud·docker·eureka
scugxl3 小时前
centos7 docker离线安装
运维·docker·容器
计算机小手5 小时前
AI 驱动数据分析:开源 SQLBot 项目探索,基于大模型和 RAG 实现精准问数与图表挖掘
经验分享·docker·开源软件
AI大模型6 小时前
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
docker·llm·deepseek
Serverless社区7 小时前
重塑云上 AI 应用“运行时”,函数计算进化之路
阿里云·云原生·serverless
张璐月7 小时前
go docker-compose启动前后端分离项目 踩坑之旅
开发语言·docker·golang
剑客的茶馆8 小时前
新服务器从0开始搭配Ubuntu+Conda+Docker+Dify
服务器·ubuntu·docker·conda·dify
Hi202402179 小时前
基于阿里云ECS搭建Tailscale DERP中继服务器:提升跨网络连接速度
服务器·阿里云·云计算