[wip]docker基础

创建: 2020/04/09

 

Docker容器的设计
 一个容器一个进程  
 immutable infrastructure的image   build后不依赖外部资源
 轻量化的Docker image  
 运行用户不作为作为root用户  
   
Dockerfile的写法
 基本命令

 

 FROM  指定base image
 MAINTAINER  指定maintainer
 USER  指定运行的user
 WORKDIR

 指定运行命令的路径

 (路径不存在则新建此路径)

 EXPOSE  指定容器运行时监听的port
 COPY  把本地的文件复制到容器里
 ADD

 把本地的tar.gz文件展开并复制进容器

 (非压缩文件这COPY一样复制)

 RUN  在容器内运行命令
 ENTRYPOINT  容器启动时运行的命令
 CMD

 容器启动时运行的命令参数

 最后以 $ENTRYPOINT $CMD 的形式运行

 

 

 例

 Dockerfile的基本流程:

  FROM获取base image

  使用其他命令配置环境完成image的创建

# https://hub.docker.com/_/rails
FROM ruby:2.3

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        postgresql-client \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/src/app
COPY Gemfile* ./
RUN bundle install
COPY . .

EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]

 

 

   
   
   
Docker image的build
 

 docker-build

 -t 添加tag

   
   
   
   
向Docker服务器上传image
   
   
   
   
   
容器的启动
   
   
   
   
   
posted @ 2020-04-09 10:54  懒虫哥哥  阅读(130)  评论(0编辑  收藏  举报