docker-compose使用

docker-compose是用来构建多个docker容器的工具。本文参考了官方文档https://docs.docker.com/compose/

一、安装docker-compose

首先下载docker-compose到/usr/local/bin目录

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件:

 
sudo chmod +x /usr/local/bin/docker-compose

查看版本

docker-compose -version

看到如下信息表示安装成功

二、使用docker-compose创建运行多个容器

创建一个目录并cd到那个目录,创建一个docker-compose.yml文件,文件内容如下:

version: '3'
services:
  web:
    build: .
    ports:
      - "8761:8761"
  redis:
    image: "redis:alpine"

创建Dockerfile文件,内容如下:

FROM java8
MAINTAINER zhangc
ADD eureka-server-1.3-SNAPSHOT.jar /app.jar
EXPOSE 8761
ENTRYPOINT ["java","-jar","/app.jar"]

准备一个jar包放到当前文件夹,这里我准备的是一个eureka的注册中心的jar包,接下来就可以启动容器,执行:

docker-compose up

可以看到如下的输出:

docker-compose使用_第1张图片

这时我打开浏览器可以访问到eureka的界面

docker-compose使用_第2张图片

三、docker-compose.yml文件解析

version: '3'
services:
  web:
    build: .
    ports:
      - "8761:8761"
  redis:
    image: "redis:alpine"

version:解析docker-compose.yml文件的版本

services:要创建容器的服务,下面的web和redis是自定义的服务名称

build:指定用来构建镜像的Dockerfile文件的路径

ports:绑定端口,宿主机端口:容器端口

image:镜像id(名称:标签),如果build和image都不为空,那么会构建新的镜像并覆盖原有的镜像。

以上是docker-compose.yml配置文件的一些简单配置,其他复杂的可以参见官网的文档https://docs.docker.com/compose/reference/overview/

 

你可能感兴趣的:(docker)