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)!