广告
返回顶部
首页 > 资讯 > 服务器 >Docker Compose与Docker镜像仓库详解
  • 798
分享到

Docker Compose与Docker镜像仓库详解

Docker镜像仓库Docker Compose 2023-03-21 11:03:47 798人浏览 独家记忆
摘要

目录1.Docker Compose1.1.初识DockerCompose1.2.安装Docker Compose1.3.部署微服务集群1.3.1.compose文件1.3.2.修改

1.Docker Compose

Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器

1.1.初识DockerCompose

Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。格式如下:

version: "3.8"
 services:
  Mysql:
    image: mysql:5.7.25
    environment:
     MYsql_ROOT_PASSWord: 123 
    volumes:
     - "/tmp/mysql/data:/var/lib/mysql"
     - "/tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf"
  WEB:
    build: .
    ports:
     - "8090:8090"

上面的Compose文件就描述一个项目,其中包含两个容器:

  • mysql:一个基于mysql:5.7.25镜像构建的容器,并且挂载了两个目录
  • web:一个基于docker build临时构建的镜像容器,映射端口时8090

Docker Compose的详细语法参考官网:Compose file specification

其实Docker Compose文件可以看做是将多个docker run命令写到一个文件,只是语法稍有差异。

1.2.安装Docker Compose

参考安装Docker

1.3.部署微服务集群

需求:将之前的cloud-demo微服务集群利用Docker Compose部署

实现思路

① 根据集群建立的cloud-demo文件夹,编写好了docker-compose文件

② 修改自己的cloud-demo项目,将Nacos地址都命名为docker-compose中的服务名

③ 使用Maven打包工具,将项目中的每个微服务都打包为app.jar

④ 将打包好的app.jar拷贝到cloud-demo中的每一个对应的子目录中

⑤ 将cloud-demo上传至虚拟机,利用docker-compose up -d来部署

1.3.1.compose文件

根据集群建立的cloud-demo文件夹,编写好了docker-compose文件,而且每个微服务都准备了一个独立的目录:

内容如下:

version: "3.2"

services:
  userservice:
    build: ./user-service
  orderservice:
    build: ./order-service
  gateway:
    build: ./gateway
    ports:
      - "10010:10010"

可以看到,其中包含4个service服务:

  • nacos:作为注册中心和配置中心
    • image: nacos/nacos-server: 基于nacos/nacos-server镜像构建
    • environment:环境变量
    • MODE: standalone:单点模式启动
    • ports:端口映射,这里暴露了8848端口
  • userservice、orderservice、gateway:都是基于Dockerfile临时构建的

查看微服务目录,可以看到都包含Dockerfile文件:

内容如下:

FROM java:openjdk-8u111-alpine
COPY ./gateway.jar /tmp/app.jar
ENTRYPOINT java -jar /tmp/app.jar
FROM java:openjdk-8u111-alpine
COPY ./order-service.jar /tmp/app.jar
ENTRYPOINT java -jar /tmp/app.jar
FROM java:openjdk-8u111-alpine
COPY ./user-service.jar /tmp/app.jar
ENTRYPOINT java -jar /tmp/app.jar

1.3.2.修改微服务配置

因为微服务将来要部署为docker容器,而容器之间互联不是通过IP地址,而是通过容器名。这里我们将order-serviceuser-servicegateway服务的nacos地址都修改为基于容器名的访问。

如下所示:

spring:
  application:
    name: orderservice
  cloud:
    nacos:
      server-addr: nacos:8848 # nacos服务地址

1.3.3.打包

接下来需要将我们的每个微服务都打包。

可以通过修改pom.xml中的打包名称来实现,每个微服务都需要修改:

<build>
  <!-- 服务打包的最终名称 -->
  <finalName>gateway</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

打包后:

1.3.4.拷贝jar包到部署目录

编译打包好的jar包文件,需要放到Dockerfile的同级目录中。注意:每个微服务的jar包放到与服务名称对应的目录,别搞错了。

user-service

order-service

gateway

1.3.5.部署

最后,我们需要将文件整个cloud-demo文件夹上传到虚拟机中,理由DockerCompose部署。

上传到任意目录:

部署:

进入cloud-demo目录,然后运行下面的命令:

docker-compose up -d

2.Docker镜像仓库

2.1.搭建私有镜像仓库

参考安装Docker

2.2.推送、拉取镜像

推送镜像到私有镜像服务必须先tag,步骤如下:

① 重新tag本地镜像,名称前缀为私有仓库的地址:192.168.0.111:8080/

docker tag Nginx:latest 192.168.0.111:8080/nginx:1.0 

② 推送镜像

docker push 192.168.0.111:8080/nginx:1.0 

③ 拉取镜像

docker pull 192.168.0.111:8080/nginx:1.0 

到此这篇关于Docker Compose与Docker镜像仓库的文章就介绍到这了,更多相关Docker镜像仓库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Docker Compose与Docker镜像仓库详解

本文链接: https://www.lsjlt.com/news/200691.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker Compose与Docker镜像仓库详解
    目录1.Docker Compose1.1.初识DockerCompose1.2.安装Docker Compose1.3.部署微服务集群1.3.1.compose文件1.3.2.修改...
    99+
    2023-03-21
    Docker镜像仓库 Docker Compose
  • Docker Compose与Docker镜像仓库怎么创建
    今天小编给大家分享一下Docker Compose与Docker镜像仓库怎么创建的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2023-07-05
  • 使用docker-compose与私有仓库
    介绍 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它允许开发人员将他们的应用程序堆栈定义为一个 YAML 文件,只需几个命令就可以轻松创建复杂的环境。然而,使用 Docker Compose 与私...
    99+
    2023-10-22
  • Docker镜像仓库有什么用
    这篇文章给大家分享的是有关Docker镜像仓库有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:简介仓库用来集中存储Docker镜像,支持镜像发布和更新。仓库的名字通常由两部分组成,中间以斜线分开。斜线之...
    99+
    2023-06-04
  • Docker容器实战之镜像仓库
    目录一.  镜像仓库1. 账号注册2. 创建仓库 二. 上传镜像一.  镜像仓库 Registry是Docker公司的一项创新,它提...
    99+
    2022-11-13
  • Docker使用镜像仓库的方法
    为什么用镜像仓库 核心的原因是足够方便和不容易出错。 操作流程是这样的:首先在本地docker完成镜像配置和部署等操作,测试无误后将本地镜像推到镜像仓库。需要部署到服务器时,只需要在...
    99+
    2022-11-13
  • Docker的镜像仓库怎么创建
    本篇内容介绍了“Docker的镜像仓库怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.  镜像仓库Registry是Do...
    99+
    2023-06-30
  • docker使用registry搭建本地镜像仓库实例详解
    目录一.系统环境二.前言三.使用registry搭建私有镜像仓库3.1 环境介绍3.2 k8smaster节点配置镜像仓库3.3 k8sworker1节点配置从私有仓库上传和拉取镜像...
    99+
    2022-11-13
  • docker怎么删除远程仓库镜像
    要删除远程仓库中的镜像,可以使用Docker命令行工具来完成。以下是删除远程仓库镜像的步骤:1. 首先,使用`docker imag...
    99+
    2023-09-23
    docker
  • docker私有镜像仓库怎么搭建
    要搭建一个Docker私有镜像仓库,可以按照以下步骤进行操作:1. 安装Docker:首先确保你的服务器上已经安装了Docker引擎...
    99+
    2023-09-23
    docker
  • 怎么删除docker私有仓库镜像
    要删除Docker私有仓库中的镜像,可以按照以下步骤进行操作:1. 首先,使用以下命令查看私有仓库中的镜像列表:docker ima...
    99+
    2023-10-19
    docker
  • Docker怎么上传镜像至私有仓库
    这篇文章主要讲解了“Docker怎么上传镜像至私有仓库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么上传镜像至私有仓库”吧!镜像可以很方便直...
    99+
    2022-10-19
  • 如何安装harbor作为docker镜像仓库
    本篇内容介绍了“如何安装harbor作为docker镜像仓库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!docker.service 如下...
    99+
    2023-07-02
  • docker拉取私有仓库镜像报错怎么解决
    在拉取私有仓库镜像时出现报错,可能是由于以下原因导致的: 认证问题:私有仓库需要进行认证才能拉取镜像。你需要确保已经提供了正确的...
    99+
    2023-10-26
    docker
  • docker拉取私有仓库镜像报错如何解决
    当使用docker pull命令从私有仓库拉取镜像时,可能会遇到以下几种常见的错误,并提供相应的解决方法:1. unauthoriz...
    99+
    2023-10-19
    docker
  • Docker部署Go项目发布镜像到仓库
    目录正文一、安装 Docker二、使用 Docker 部署 Go 项目三、上传镜像到镜像仓库正文 大家都知道Go编译后是可执行的二进制文件,一般我们的项目会部署在Linux中,Do...
    99+
    2023-03-07
    Docker部署Go发布镜像 Docker部署Go
  • 安装harbor作为docker镜像仓库的问题
    目录一、docker和docker-compose离线部署1、上传docker-20.10.9.tgz安装包并解压2、docker.service文件3、启动Docker4、dock...
    99+
    2022-11-13
  • 怎样安装企业级docker镜像仓库Harbor
    这期内容当中小编将会给大家带来有关怎样安装企业级docker镜像仓库Harbor,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Harbor官方介绍 Harbor是一个用于存储和分发Docker镜...
    99+
    2023-06-19
  • docker镜像管理命令详解
    目录一、国内Docker镜像仓库三、搜索镜像四、拉取镜像五、列出镜像六、虚悬镜像七、删除本地镜像八、镜像的导入导出导入方式一(不输出详细信息):导入方式二(输出详细信息):一、国内Docker镜像仓库 由于大家都知道的原因,从国外的dock...
    99+
    2022-09-23
  • Docker registry私有镜像仓库服务怎么部署
    ...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作