如何将Dockerfile转换为docker compose图像?

时间:2017-05-17 23:35:01

标签: node.js meteor docker docker-compose

这就是我使用nodeJS和meteorJS基于ubuntu图像创建docker镜像的方法。我将使用此图像进行一些测试。

现在我想通过docker compose这样做。但这有可能吗?我可以将这些命令转换为docker compose yml文件吗?

FROM ubuntu:16.04

COPY package.json ./

RUN apt-get update -y && \
    apt-get install -yqq \
        python \
        build-essential \
        apt-transport-https \
        ca-certificates \
        curl \
        locales \
        nodejs \
        npm \
        nodejs-legacy \
        sudo \
        git

## NodeJS and MeteorJS
RUN curl -sL https://deb.nodesource.com/setup_4.x | bash -
RUN curl https://install.meteor.com/ | sh

## Dependencies
RUN npm install -g eslint eslint-plugin-react
RUN npm install

## Locale
ENV OS_LOCALE="en_US.UTF-8"
RUN locale-gen ${OS_LOCALE}
ENV LANG=${OS_LOCALE} LANGUAGE=en_US:en LC_ALL=${OS_LOCALE}

## User
RUN useradd ubuntu && \
    usermod -aG sudo ubuntu && \
    mkdir -p /builds/core/.meteor /home/ubuntu && \
    chown -Rh ubuntu:ubuntu /builds/core/.meteor && \
    chown -Rh ubuntu:ubuntu /home/ubuntu
USER ubuntu

1 个答案:

答案 0 :(得分:9)

Docker Compose不会替换您的Dockerfile,但您可以使用Docker Compose到build an image from your Dockerfile

version: '3'
services:
  myservice:
    build:
      context: /path/to/Dockerfile/dir
      dockerfile: Dockerfile
    image: result/latest

现在您可以使用以下内容构建它:

docker-compose build

然后开始:

docker-compose up -d