zoukankan      html  css  js  c++  java
  • Dockerfile

    Dockerfile创建:

    大:文件首字母必须大写,且文件名必须为Dockerfile。

    空:尽量让Dockerfile文件在一个空的文件夹中。

    单:一个Dockerfile只实现一个功能。

    少:尽量少写Dockerfile的代码。

    Dockerfile文件的定义必须严格遵守以上四点。

    Dockerfile命令:

    FROM命令:导入镜像的命令,相当于python中的import,其导入的镜像相当于python类中的父类。FROM命令必须放在第一条。

    FROM image:tag

    LABEL命令:维护者介绍命令,可有可无。

    RUN命令:执行RUN命令后的语句,相当于/bin/bash命令行。

    RUN touch 1.txt

    WORKDIR命令:指定工作目录,相当于cd命令,指定工作目录后如果目录存在则直接进入,如果目录不存在则自动创建并进入。

    WORKDIR /code

    EXPORSE命令:设置端口命令,设置容器开放的端口。

    EXPOSE port

    COPY命令:复制命令,可以将宿主机的目录或文件复制到容器的文件系统中。

    COPY 宿主机目录或文件路径:容器目录或文件路径

    VOLUME命令:定义数据卷命令,可以通过run容器时指定数据卷来实现宿主机和容器文件系统共享目录或文件。

    VOLUME 共享数据卷的目录或文件路径

    CMD命令:run容器时执行的命令。

    CMD ["touch","a.html"]

    注意:CMD命令格式会被解析成JSON数据,所以必须使用双引号。

    Dockerfile的构建:

    当我们编写完Dockerfile文件后,需要执行一下命令,就可以将Dockerfile构建成一个自定义镜像。

    sudo docker build -t image-name:tag .

    注意:

    这里的.表示在当前目录

    Dockerfile实战案例:

    利用COPY实现:

    1. 编写Dockerfile文件

    FROM python:3.5
    
    LABEL maintainer="Chester"
    
    RUN pip install django==1.11.11 -i https://mirrors.aliyun.com/pypi/simple/
    
    WORKDIR /code
    
    COPY ./book /code
    
    EXPOSE 8000
    
    CMD ["python3","manage.py","runserver","0.0.0.0:8000"]

    2. 将Docker文件构建成镜像

    sudo docker build -t copy-django:v1.0 .

    3. 运行镜像

    sudo docker run -d copy-django:v1.0

    利用VOLUME实现

    1. 编写Dockerfile文件

    FROM python:3.5
    
    RUN pip install django==1.11.11 -i https://mirrors.aliyun.com/pypi/simple/
    
    WORKDIR /code2
    
    VOLUME /code2
    
    EXPOSE 8000
    
    CMD ["python3","manage.py","runserver","0.0.0.0:8000"]

    2. 构建镜像

    sudo docker build -t volume-django:v1.0

    3. 运行镜像

    sudo docker -d -P -v /home/Desktop/book:/code2 --name=v-django volume-django:v1.0

    看看Dockerfile是否构建成了镜像:

    sudo docker images

    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    制作 MarkText 的导航栏和动画背景
    某雅互动静态页面
    html5 拖拽及用 js 实现拖拽
    九宫格
    phaser3 入门实例——收集星星游戏
    Flexbox Froggy:练习 Flex 布局的小游戏
    JS30
    ElasticSearch
    JVM
    jstack命令的使用
  • 原文地址:https://www.cnblogs.com/chao666/p/12358214.html
Copyright © 2011-2022 走看看