DockerFile与docker-compose.yml是什么

之前一直搞不懂DockerFile与docker-compose.yml到底是什么,它们有啥关系,现在明白了,它们没有关系

DockerFile是用于构造自己的镜像时使用的文件,根据它可以生成images镜像文件。典型命令:docker build -f DockerFile -t myImage  . (别忘了点)

DockerFile示例:

1 # 构建images(镜像)使用
2 FROM golang
3 WORKDIR /go/src/
4 COPY yxdzb .
5 COPY script.sh .
6 EXPOSE 8080
7 CMD ["/bin/bash", "/go/src/script.sh"]

docker-compose.yml是用于编排配置服务(或者说是容器)的文件(不用这个文件也能配置启动容器)。典型命令:docker-compose up -d

docker-compose.yml示例:

# 编排服务(容器),每个服务启动一个镜像

version: '3'

services:
  mysql:  ##(服务1)
    restart: always
    image: mysql:5.7
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "12345678"
    volumes:  #数据持久化,落到本地盘上  本地:docker容器
      - mysqldb:/var/lib/mysql   # 卷标:docker容器  这种方式是不知道存储在本地的绝对路径,需要使用docker volume lsdocker volume inspect 容器卷标 查看。 docker volume rm 容器卷标  删除卷
      - ./docker/mysql/my.cnf:/etc/my.cnf  #卷标:容器  这种方式是使用本地绝对路径的方式,可以查看到数据存放到本地的具体路径  
      - ./docker/mysql/init:/docker-entrypoint-initdb.d/

  go-web:  ##(服务2)
    restart: always
    image: beego-web
    ports:
      - "8080:8080"
原文地址:https://www.cnblogs.com/wt11/p/12525877.html