Docker Compose基础

Posted 敖胤

tags:

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

Compose是用于定义和运行多容器Docker应用程序的工具。Compose,通过YML文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从YML文件配置中创建并启动所有服务。

一、下载Docker-Compose

在GitHub中搜索docker-compose,使用星标过滤。

点击tags

选择版本:

点击下载:

https://github.com/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64

二、配置Docker-Compose

将下载的compose文件上传至服务器:

将安装文件放置在/usr/local/bin目录中:

mv docker-compose-Linux-x86_64 /usr/local/bin

赋予文件可执行权限:

mv docker-compose-Linux-x86_64 docker-compose
chmod 777 docker-compose

为方便后续操作,将/usr/local/bin配置到环境变量中

vim /etc/profile

source /etc/profile

测试:

docker-compose

三、Docker-Compose YML文件

要使用docker-compose管理容器,只需要编写一个docker-compose.yml文件即可。

mysql和tomcat为例,文件内容如下:

注:不要使用制表符Tab做缩进

#docker-compose版本
version: "3"
#管理的服务
services: 
  mysql5.7:   #服务的名称(自定义)
    restart: always   #表示跟随容器启动
    image: daocloud.io/library/mysql:5.7.7 #镜像路径
    container_name: mysql5.7 #容器名称
    ports: #端口映射
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: root #指定MySQL root用户的密码
      TZ: Asia/Shanghai  #指定时区
    volumes: #数据卷
      - /opt/volumes/mysql/mysql5.7:/var/lib/mysql
  
  tomcat9:
    reatart: always
    image: daocloud.io/library/tomcat:9.0-jdk8-openjdk-slim-buster
    container_name: tomcat9
    ports:
      - 8080:8080
    environment:
      TZ: Asia/Shanghai
    volumes:
      - /opt/volumes/tomcat/tomcat9/webapps:/usr/local/tomcat/webapps
      - /opt/volumes/tomcat/tomcat9/logs:/usr/local/tomcat/logs

四、Docker-Compose命令

在使用Docker-Compose的命令时,默认在当前目录下寻找docker-compose.yml文件。

vi docker-compose.yml

4.1、创建容器

docker-compose up -d
# -d:后台启动

4.2、关闭并删除容器

docker-compose down

4.3、启动|关闭|重启容器

注:必须已经由docker-compose管理

docker-compose start|stop|restart

4.4、查看由docker-compose管理的容器

docker-compose ps

4.5、查看日志

docker-compose logs -f
# -f:查看后面几行

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

docker基础之docker-compose搭建consul集群

Docker Compose基础

Docker学习总结(56)——Docker-compose 基础知识温习

Docker学习总结(56)——Docker-compose 基础知识温习

docker-compose基础

docker基础之docker-compose搭建consul集群