docker-compose图像导出和导入

时间:2016-01-29 07:21:38

标签: docker dockerfile docker-compose

我有一个nginx的dockerfile。

FROM ubuntu

# File Author / Maintainer
MAINTAINER Maintaner Name

# Install Nginx

# Add application repository URL to the default sources
RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.list

# Update the repository
RUN apt-get update

# Install necessary tools
RUN apt-get install -y nano wget dialog net-tools

# Download and Install Nginx
RUN apt-get install -y nginx  

# Remove the default Nginx configuration file
RUN rm -v /etc/nginx/nginx.conf

# Copy a configuration file from the current directory
ADD nginx.conf /etc/nginx/

# Append "daemon off;" to the beginning of the configuration
RUN echo "daemon off;" >> /etc/nginx/nginx.conf

# Expose ports
EXPOSE 80

# Set the default command to execute
# when creating a new container
CMD service nginx start

我有一个docker-compose.yml文件。

web:
  build: .
  ports:
   - "5000:5000"
  volumes:
   - .:/code
  links:
   - redis
redis:
  image: redis

运行后

  

docker-compose up

它从dockerfile创建了一个名为" web"并下载redis图像。它还创建了两个图像的组合,称为" web_web1"当我检查

的输出时
  

docker ps

nginx和redis服务都在运行。我的问题是,如果我将新创建的图像提交到另一个图像并导出容器并导入到另一个环境,在执行docker run命令期间,它是否会启动nginx和redis服务?

1 个答案:

答案 0 :(得分:2)

  

我的问题是,如果我将新创建的图像提交到另一个图像并导出容器并导入到另一个环境,在执行docker run命令期间,它是否会启动nginx和redis服务?

您需要的只是更改docker-compose.yml中声明的容器名称和端口映射,您可以根据需要启动这些图像的多个实例(无需导出/导入)