自学内容网 自学内容网

docker的核心概念整理:docker-compose

docker-compose

理解一个服务,我们尝试将自己代入,开发者的角色去思考

这个服务,为什么叫这个名字?

docker是什么意思?

英文的意思是码头工人

码头工人的主要工作之一

是把货物搬至集装箱,

进而货轮将集装箱运转至目的地

达成经济学上物流的目的,

实现了货物从提供方到需求方的运输。

我们可以理解为,

docker容器管理工具,

将镜像文件push推进镜像仓库

镜像仓库可以为镜像的需求方提供下载服务。

而docker在这里起到了

将只读文件搬进镜像仓库的作用。

与码头工人将货物搬进集装箱的工作类似。

docker pull从镜像仓库拉镜像的动作

也类似于码头工人从集装箱把货物搬下来的动作。

docker run

可以运行容器,

让镜像文件发挥作用

码头工人对本地的货物也会进行一些操作,

比如拆箱,

分发给不同客户等动作

让这些货物到达终端消费者的手中,实现服务的本地化。

所以

docker对于镜像和容器的管理,

就类似于码头工人对集装箱和货物的管理。

那么计算机领域的docker

就是将服务运行需要的环境代码进行打包。

方便需求方进行消费。

计算机领域的搬运工,

需要一些物理资源就可以运行,

比如电、计算、存储、网络资源

对于人类来讲,消耗一些这些,比人们体力劳动要简单一些

所以docker服务发布之后,受到很大的欢迎。

消耗较小,作用较大。

那么我们知道

docker主要是管理镜像和容器的

单机管理容器docker很擅长

但是市场对于服务的需求是综合化的

单一的容器提供的服务比较有限

如何让多个容器一起提供服务呢?

也就是实现架构的容器化

比如nginx+php动静分离

这个时候就是

docker-compose出场了

既然难搞

那就一起搞

什么是compose?

com+pos

什么是com?

company       一起干活,叫公司

compare       一起看看哪个树更高,叫比较

computer      一起思考,一起计算,叫计算机

所以

com

就是一起的意思

什么是pos?

来自于希腊语,是to put,  to place

就是放置的意思

那么

什么是compose?

就是放一起

那么

什么是docker-compose?

就是

码头工人-放一起

把什么放一起?

把多个容器放一起

放在哪里?

放在同一个文件里

这叫什么?

叫项目

大家常说的项目

往往指的是

需要多个服务协作的工程。

而docker-compose

就是把多个容器服务,放在同一个文件里,协作关系写好

运行项目,实现项目

所以

docker-compose是干什么的?

就是做项目的

~]# vim docker-compose.yaml 
name: forweb
version: "3"
services:
  nginxabc:
    container_name: nginx
    image: myos:nginx
    restart: always
    volumes:
      - type: bind
        source: /root/conf/nginx.conf
        target: /usr/local/nginx/conf/nginx.conf
      - type: bind
        source: /var/webroot
        target: /usr/local/nginx/html
    network_mode: bridge
    ports:
      - 80:80
    environment:
      - "TZ=Asia/Shanghai"
  php-fpmabc:
    container_name: php-fpm
    image: myos:php-fpm
    restart: always
    volumes:
      - type: bind
        source: /var/webroot
        target: /usr/local/nginx/html
    depends_on:
      - nginxsvc
    network_mode: "container:nginx"

这个项目

名字叫forweb

这个项目

里面有两个服务

一个叫nginxabc

一个叫php-fpmabc

两个服务合作

实现web服务的动静分离

项目里面

说了

这两个容器

网络怎么通信

容器叫什么名字

启动容器用什么镜像

和主机怎么卷绑定

容器端口和主机端口怎么绑定

环境变量时区用哪个

两个容器谁先启动

第二个容器用不用第一个容器的网卡

两个容器的重启策略是怎样的

是no

还是onfailure

还是always

是不重启

还是退出码是错误的时候重启

还是只要掉线就重启

所以

什么是docker-compose?

是码头工人一起工作

让多个容器放在同一个文件

组成一个项目

让这个多容器的项目启动起来

对这个多容器的项目进行管理


原文地址:https://blog.csdn.net/2401_84019227/article/details/142432948

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!