最近在学习docker相关的东西,当我在docker上部署了一个nest应用,其中该应用中依赖了一个基于mysql镜像的容器,一个基于redis镜像的容器。那我,当我进行部署上线时,在启动nest容器时,必须保证redis容器和mysql容器事先是启动的。如果依赖项少还好,如果依赖项过多,每次都要按顺序一个个去启动容器吗?
文章来源:https://www.toymoban.com/news/detail-722249.html
解决方案
正式为了解决上述问题,于是有了流程编排的思想,让开发者通过编写对应的配置文件,让docker自动的帮我们按配置文件中书写的顺序来执行对应的容器。常用的流程编排技术有以下两种:docker compose 和 k8s。前者是单台机器上的流程编排技术,后者是多机上的流程编排技术。我们主要介绍docker compose的安装及使用过程中的问题。文章来源地址https://www.toymoban.com/news/detail-722249.html
安装
- 如果是通过DockerDesktop的方式使用的docker,那么恭喜你,该软件默认集成了docker compose,你可以直接使用。
- 如果不是, 首先检查你按照的是什么类型的Linux系统以及版本号(红帽,Centos等等),通过执行命令 cat /etc/redhat-release 查看。
- 如果是Centos8以上的系统,我们可以直接通过 yum install docker-compose。因为8以上的版本yum 仓库中有这个包。
- 如果使用了8及以下的版本,请使用以下命令安装 curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-
uname -s
-uname -m
-o /usr/local/bin/docker-compose - 然后进入 /usr/local/bin/,通过 chmod +x docker-compose 命令修改文件权限
- 最后通过 docker-compose -version 检查是否安装成功
使用中可能遇到的问题
- 执行docker-compose up构建命令时下面的错误:The Compose file ‘./docker-compose.yml’ is invalid because: Unsupported config option,这是因为docker-compose.yml文件中缺少版本号这个必要配置,在该配置文件中添加 version: "3"即可。
- 如果报compose/config/config_schema_v2.3.json could not be extracted!
fopen: No space left on device 这是因为磁盘空间不足,删除无用的文件,或者重新分配磁盘空间。
到了这里,关于关于单机流程编排技术——docker compose安装使用的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!