• 利用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
    
  • 相关阅读:
    30行代码做一个简易的抽奖系统(一)
    记一次HTTPClient模拟登录获取Cookie的开发历程
    周杰伦直播超654万人观看,总互动量破4.5亿,助力快手再破纪录
    【方法】如何取消7Z压缩文件加密的密码?
    【PyTorch】切记:GeForce RTX 3090 显卡仅支持 CUDA 11 以上的版本!
    Linux中USB协议栈框架详解
    1004 成绩排名
    配置CLion进行嵌入式STM32的HAL库开发
    第11章 Linux的网络管理
    python tk展示图片
  • 原文地址:https://blog.csdn.net/weixin_44508518/article/details/127113691