Docker学习04

Posted 不能说的秘密

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker学习04相关的知识,希望对你有一定的参考价值。

Docker Compose 概述

1.1 概述

  • Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排,定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务
  • 我们知道使用一个 Dockerfile 模板文件,可以让用户很方便的定 义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某 项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后 端的数据库服务容器,甚至还包括负载均衡容器等。Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.yml 模板文件 (YAML 格式)来定义一组相关联的应用容器为一个项目(project)。有了Compose,我们就不需要再一个个组件去写一份Dockerfile,只需要将整体环境同一起来,写在一份docker-compose.yml文件即可

1.2 使用步骤

使用compose三个步骤

  • 使用定义您的应用环境,Dockerfile以便可以在任何地方复制。
  • 定义组成应用程序的服务,docker-compose.yml 以便它们可以在隔离的环境中一起运行。
  • 运行 docker-compose up Compose启动并运行您的整个应用程序。

docker-compose.yml 示例

version: \'3.1\'
services:
  mysql:                                                      #服务名称
    restart: always                                           #代表只要docker启动,那么这个容器就跟着一起启动
    image: daocloud.io/library/mysql:5.7.4                    #指定镜像路径
    container_name: mysql                                     #指定容器名称
    ports:
      - 3306:3306                                             #指定端口的映射
    environment:
      MYSQL_ROOT_PASSWORD: 123456                             #指定MySQL账号root的密码
      TZ: Asia/shanghai                                       #指定时区
    volumes:
      - /opt/docker_mysql_tomcat/mysql:/var/lib/mysql                #指定映射数据卷
  httpd:
    restart: always
    image: php:7.2-apache
    container_name: apache
    ports:
      - 80:80
    environment:
      TZ: Asia/shanghai
    volumes:
      - /opt/docker_mysql_tomcat/www:/var/www/html
      - /opt/docker_mysql_tomcat/logs:/var/log/apache2

Compose具有用于管理应用程序整个生命周期的命令:

  • 启动,停止和重建服务
  • 查看正在运行的服务的状态
  • 运行服务的日志输出
  • 在服务上运行一次性命令

1.3 Docker-Compose使用命令

创建并启动容器 (更新了compose.yml 文件需要运行它)

docker-compose up

创建并后台启动容器

docker-compose up -d

查看当前compose进程

docker-compose ps

启动容器

docker-compose start

关闭容器

docker-compose stop 

关闭并移除容器

docker-compose down

查看日志

docker-compose logs

关闭并移除容器并删除容器清除存储

docker-compose down --volumes

安装 Docker Compose

两种安装方式

  • 下载docker-compose二进制文件安装
  • pip安装(将Compose当作一个python应用从pip源安装)

下载二进制文件

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 使用光放github下载很慢,建议换源
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 上传至/usr/local,并修改名字,赋予可执行权限
mv docker-compose-Linux-x86_64 docker-compose
chmod 777 docker-compose

pip安装

udo pip install docker-compose

卸载

二进制包方式安装的,删除二进制文件即可

sudo rm /usr/local/bin/docker-compose
pip 安装的,则执行如下命令即可删除

sudo pip uninstall docker-compose

以上是关于Docker学习04的主要内容,如果未能解决你的问题,请参考以下文章

Docker学习04

docker~学习笔记索引

Docker学习04_镜像管理

Docker学习

如何将按钮功能添加到片段中

markdown docker-compose片段