• 利用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
    
  • 相关阅读:
    软信天成:如何利用大数据提高客户体验?
    华为OD机考:0030-0031-n*n数组中二进制的最大数、整数的连续自然数之和
    前后端 如何 快速的处理和传输 大数据 ?
    MES管理系统解决方案实现生产信息全程追溯
    [ 常用工具篇 ] 解决 kali 下载速度软件慢的问题 -- kali换源
    PDM篇 | SOLIDWORKS 2024新功能
    java毕业设计毕业论文管理系统Mybatis+系统+数据库+调试部署
    Swift之深入解析子数组提取的性能优化
    昨天同事lastday,把前端测试包扔线上去了
    “Awk”shell脚本三剑客
  • 原文地址:https://blog.csdn.net/weixin_44508518/article/details/127113691