• 利用Dockerfile创建指定镜像


    【Dockerfile小贴士】

    docker允许创建自己的docker镜像。dockerfile是一个用于创建docker镜像的配置文件,文本格式,里面包含了创建镜像的指令,docker通过读取dockerfile中的指令,自动构建镜像。

    FROM:用于指定基础镜像,如果本地没有,将从docker hub下载
    MAINTAINER:指明镜像的维护者
    LABEL:指定镜像的元数据信息,一个LABEL指令配置一个键值对
    COPY:向镜像添加目录、文件;格式 COPY src dest
    RUN:为当前镜像执行命令
    CMD:设置容器运行时的默认命令。
    WORKDIR:指令为Dockerfile中的任何RUN、CMD和COPY指令设置工作目录。如果工作目录不存在,默认情况下将创建它。可以在Dockerfile中多次使用WORKDIR。
    ENV:设置容器中的环境变量
    EXPOSE:公开容器的端口,但仅用于容器间的通信。

    • PHP案例

    1、创建项目目录

    [root@kittod docker]# mkdir php
    [root@kittod docker]# cd php/
    

    2、创建php文件

    [root@kittod php]# cat kittod.php 
    <?php
    echo "This is php app - kittod.com"
    ?>
    

    3、创建Dockerfile

    创建Php文件之后,我们需要创建一个Dockerfile,其中包含了Docker的指令。在docker-php目录下创建Dockerfile,文件名必须是Dockerfile。

    [root@kittod php]# vim Dockerfile 
    FROM php:7.3    
    COPY . /var/www/php
    WORKDIR /var/www/php
    CMD ["php", "./kittod.php"]
    

    4、构建docker镜像

    切换到php目录,运行docker build -t kittod-php .命令,构建Docker镜像。Docker镜像可以任意取名,此处命名为kittod-php。

    [root@kittod php]# docker build -t kittod-php .
    

    5、查看构建好的镜像

    [root@kittod php]# docker images
    

    6、运行镜像

    [root@kittod php]# docker run kittod-php
    This is php app - kittod.com
    
    • Python案例

    1、创建项目目录

    [root@kittod php]# cd ..
    [root@kittod docker]# mkdir python
    [root@kittod docker]# cd python/
    

    2、创建python文件

    [root@kittod python]# vim kittod.py 
    print("This is a python app - kittod.com")
    

    3、创建Dockerfile

    [root@kittod python]# vim Dockerfile 
    FROM python:3
    COPY . /var/www/python
    WORKDIR /var/www/python
    CMD ["python", "./kittod.py"]
    

    4、构建docker镜像

    [root@kittod python]# docker build -t kittod-python .
    

    5、查看镜像

    [root@kittod python]# docker images
    

    6、运行镜像

    [root@kittod python]# docker run kittod-python
    This is a python app - kittod.com
    
  • 相关阅读:
    从零搭建云原生技术kubernetes(K8S)环境-通过kubesPhere的AllInOne方式
    less方案实现主题切换 window.less.modifyVars
    携手同行,共赴未来......
    第二证券:港交所上市24周年 市值增长38倍
    CSS基础
    JAVA 面试大全系列-基础篇(持续跟新)
    PostgreSQL创建数据库、数据库管理员用户、该库的只读用户
    【深圳X金技术公司】Java笔试题
    69. Sqrt(x)x 的平方根
    Python OpenCV 单目相机标定、坐标转换相关代码
  • 原文地址:https://blog.csdn.net/weixin_44508518/article/details/127113691