• 利用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
    
  • 相关阅读:
    基于Springboot实现汽车租赁平台管理系统项目【项目源码】计算机毕业设计
    MySQL的事务隔离级别
    Hive、SparkSQL是如何决定写文件的数量的?
    一个案例总结 MongoDB 与 Redis 主从同步问题
    【DRF自定义filter】
    名词从句的练习题
    Java 死,前端凉?!斗胆说点真话
    MATLAB算法实战应用案例精讲-【数模应用】小批量梯度下降(MBGD)(附Python和MATLAB代码)
    kubectl应用
    [论文工具] LaTeX论文撰写常见用法及实战技巧归纳(持续更新)
  • 原文地址:https://blog.csdn.net/weixin_44508518/article/details/127113691