Docker——DockerCompose简单使用

比眉伴天荒 2024-03-31 16:31 238阅读 0赞

目录

一、DockerCompose

1.1 基本介绍

1.2 Centos7安装DockerCompose

1.2.1 安装

1.2.2 修改文件权限

1.2.3 Base自动补全命令

二、部署微服务集群


一、DockerCompose

1.1 基本介绍

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

帮助我们快速部署分布式应用,无需一个个微服务去构建镜像和部署

简言之:分布式部署的好帮手,集群的快速部署

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

我们之前使用docker run命令指定容器命名,而现在是用Compose文件定义集群中的n个容器运行,可以理解为docker run命令的集合,文件中不是直接用run,而是用指令代替了

语法例子:

版本是3.8,不同版本,语法有所差异

往下是两个微服务,一个是mysql,一个是web

322a3f5ff4304e2b8af2a801a9e08f1d.png

新旧方式对比,发现左侧中的比较简洁,特别是web工程,最简洁

f460471bfb5b4de8a58bf8d479419cff.png

详细信息在下面的官网链接

Compose specification | Docker Documentation

1.2 Centos7安装DockerCompose

1.2.1 安装

下面是慢慢的下,不推荐

  1. curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

如果下载速度较慢,或者下载失败,可以使用课前资料提供的docker-compose文件,上传到`/usr/local/bin/`目录

887af020052f4c838feeb67aa830f0d4.png

3b3f5a5802a94fc9839ae6e6c28d1eb8.png

1.2.2 修改文件权限

  1. chmod +x /usr/local/bin/docker-compose

前后对比,发现运行完时绿了,绿了代表可以运行

f1b6a4ff98724d7fac0fa3d07854714e.png

1.2.3 Base自动补全命令

  1. curl -L http://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

如果执行上面的命令执行出错,执行完这面这个命令再执行上面的命令

  1. echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

2b0f4b71404c4221a825df026d558358.png

二、部署微服务集群

这个地方我还没有接触到过微服务集群,这个地方写的不是很熟悉,先记录一下,以后用的话再回来学

18-DockerCompose-部署微服务集群_哔哩哔哩_bilibili

案例:将微服务集群利用DockerCompose部署

部署下面的文件

c6864055361c4b86aaa40881019a26c6.png

1ece2be195ae4903bf8eb0fa636d346d.png

网关是整个微服务的入口,其他的服务不会暴露端口,只有网关会暴露端口712dd4b8939940898c67c69148e7263d.png

我们部署之间我们应该先修改一下cloud-demo项目,将数据库、nacos地址都命名为docker-compose中的服务名(我们之前都写的是localhost),比如下图是我们更改之后的内容

8643d84614484802a4914b77f332b004.png

71885c498916468093b5ec5926d0d684.png

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

因为我们上面配置Dockerfile文件夹的时候,配置的是到文件夹下找app.jar

1b062ac1c63a4b2eab6e5b43c2c9e88e.png

指定打包后的最终名称

8c6ca4a2b6534a34ae8ba3787608acb4.png

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

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

我们还是放到tmp目录

04f9083a2a86495b839a58441981fe80.png

跑起来

  1. docker-compose up -d

a9e4ade26e19483aa4966c7fc6ad216f.png

发表评论

表情:
评论列表 (有 0 条评论,238人围观)

还没有评论,来说两句吧...

相关阅读

    相关 git 简单使用

    git上一个分布式源码管理工具,可以离线提交 git分为工作区、暂存区(需要更总文件状态区)和历史区(提交后区域) git 全局配置文件在当前用户家目录的.gitconfi

    相关 IPerf简单使用

    一 点睛 1 IPerf是一个服务器/客户端运行的程序 2 在服务器端运行iPerf,也需要在客户端运行IPerf。 3 服务器端,在命令行下使用iperf加参数-s。