Docker容器引擎(5)

目录

一.docker-compose

docker-compose的三大概念:

yaml文件格式:

json文件格式:

[docker-compose 配置模板文件常用的字段:](#docker-compose 配置模板文件常用的字段:)

[二.Docker Compose 环境安装:](#二.Docker Compose 环境安装:)

查看版本:

[准备好nginx 的dockerfile的文件:](#准备好nginx 的dockerfile的文件:)

编写配置文件docker-compose.yml:

创建并启动容器:


一.docker-compose

传统的容器管理:Dockerfile文件 --> 手动执行 docker build 一个个构建镜像 -> 手动执行 docker run 一个个创建启动容器

编排管理容器:Dockerfile文件 --> 在 docker compose 配置文件里定义好容器启动参数和依赖关系 -> 执行 docker-compose 命令指定配置文件一次性的自动完成所有镜像的构建和容器的创建启动

docker-compose 是一个可以实现在单机上对容器集群编排管理的工具。

使用python开发的,能运行docker的平台也都能用docker-compose编排管理容器。

本质就是在yaml格式的docker-compose配置模板文件里定义多个服务容器的启动参数和依赖关系,并使用docker-compose命令根据指定配置模板文件的配置来启动和管理容器集群。

docker-compose的三大概念:

项目project -> 包含一个或多个服务service -> 包含一个或多个容器container的镜像、端口映射、环境变量、依赖关系等启动参数

默认使用项目的目录名作为project的项目名,支持使用 -p 或 --project-name 来指定项目名称

项目目录里要包含一个 docker-compose 配置模板文件,默认为 docker-compose.yml,支持使用 -f 或 --file 来指定项目的配置模板文件

在配置模板文件里要包含一个或多个服务容器的配置,每个服务要包含容器的名称、镜像、映射端口、挂载点、网络模式、依赖关系等容器启动的配置参数

yaml文件格式:

文件名格式通常是以 .yaml .yml 为后缀,用 空格缩进 表示字段的层级关系,特性:可读性高,易于人类管理。

json文件格式:

文件名格式通常是以 .json 为后缀,用 大括号{} 表示字段的层级关系,每层字段除了最后一个字段都要用逗号,结尾,特性:易于api接口解析。

docker-compose 配置模板文件常用的字段:

image 使用本地镜像或从仓库拉取镜像创建容器

build: 使用dockerfile现场构建镜像创建容器

context:

dockerfile:

command 指定容器启动命令,会覆盖镜像中的CMD指令

container_name --name

environment -e --env

network_mode --network

network 指定加入的网络和IP --IP

ports -p

volumes -v

volumes_from --volumes-from ,版本3不支持

hostname -h --hostname

sysctls --sysctl

links --link

privileged --privileged

restart --restart

depends_on 指定有依赖关系的容器

二.Docker Compose 环境安装:

我们接着Docker容器引擎(3)dockerfile的服务器接着做,compose启动nginx:

查看版本:

Docker Compose 常用命令:

字段 描述

build 重新构建服务

ps 列出容器

up 创建和启动容器

exec 在容器里面执行命令

scale 指定一个服务容器启动数量

top 显示容器进程

logs 查看容器输出

down 删除容器、网络、数据卷和镜像

stop/start/restart 停止/启动/重启服务

准备好nginx 的dockerfile的文件:
编写配置文件docker-compose.yml:

查看镜像:

查看容器:

可以添加到变量中:

创建并启动容器:

docker-compose up -d

查看镜像,自动创建:

查看容器,启动状态:

docker ps -a

docker-compose ps

关闭docker-compose:

查看容器:

查看镜像:

访问页面:

相关推荐
需要82610 分钟前
MySQL 索引 B+ 树与“查询为什么变慢了
java·spring boot·spring·spring cloud·tomcat
一 乐11 分钟前
二手交易平台|基于springboot + vue二手交易平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序
万年咸鱼16 分钟前
编译Java源程序
java
Wang's Blog31 分钟前
Java 项目实战: 外卖平台-删除分类的关联校验与自定义业务异常
java·服务器·项目开发
hai_android39 分钟前
Kotlin / Android 常用函数使用示例手册
android·java·kotlin
MayBaymax1 小时前
MongoDB 索引与事务
java·数据库·mongodb
vx-程序开发1 小时前
【计算机毕设】django校园跑腿服务系统83141
java·数据库·vue.js·spring boot·spring·elasticsearch·django
勇气要爆发1 小时前
006.注解
java·注解
liuchangng2 小时前
Jev 模型研究:从生成式大模型到决策式模型——System One、RLCD 校准与采用边界
java·javascript·人工智能·python·深度学习
GPU实战笔记2 小时前
本地跑不动 llama.cpp,临时租云 GPU 怎么搭?从启动服务到环境复用
java·服务器·网络·人工智能·深度学习·llama