千家信息网

怎么制作第一个docker镜像

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇文章给大家分享的是有关怎么制作第一个docker镜像,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先创建一个新目录用于存放我们制作
千家信息网最后更新 2025年02月05日怎么制作第一个docker镜像

本篇文章给大家分享的是有关怎么制作第一个docker镜像,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

首先创建一个新目录用于存放我们制作镜像所需的文件

进入到新目录中 执行touch Dockerfile 创建一个Dockerfile文件,Dockerfile 定义了容器运行的需要的环境,网络端口、磁盘资源、要执行的命令等等。

复制以下内容到Dockerfile中

#use an official Python runtime as a parent imageFROM python:2.7-slim# Set the working directory to /appWORKDIR /app# Copy the current directory contents into the container at /appCOPY . /app# Install any needed packages specified in requirements.txtRUN pip install --trusted-host pypi.python.org -r requirements.txt# Make port 80 available to the world outside this containerEXPOSE 8081# Define environment variableENV NAME World# Run app.py when the container launchesCMD ["python", "app.py"]

在新目录下执行命令 touch requirements.txt复制以下内容

FlaskRedis

在新目录下执行命令 touch app.py复制以下内容

from flask import Flaskfrom redis import Redis, RedisErrorimport osimport socket# Connect to Redisredis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)app = Flask(__name__)@app.route("/")def hello():    try:        visits = redis.incr("counter")    except RedisError:        visits = "cannot connect to Redis, counter disabled"    html = "

Hello {name}!

" \ "Hostname: {hostname}
" \ "Visits: {visits}" return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)if __name__ == "__main__": app.run(host='0.0.0.0', port=8081)

执行命令 docker build --tag=helloworld:v0.0.1 . 构建你的第一个docker镜像,别忘了命令的最后一个. 。

通过下面命令查看您刚刚制作的镜像

# docker image lsREPOSITORY           TAG                 IMAGE ID            CREATED             SIZEhelloworld           v0.0.1              f471662fe76e        2 minutes ago       131MB

该镜像通过Python代码启了一个简单的web服务,下面开始运行您的镜像

#docker run -p 8099:8081 helloworld:v0.0.1 * Serving Flask app "app" (lazy loading) * Environment: production   WARNING: This is a development server. Do not use it in a production deployment.   Use a production WSGI server instead. * Debug mode: off * Running on http://0.0.0.0:8081/ (Press CTRL+C to quit)

看到上面的输出说明您的docker 镜像 helloworld 启动成功,您可以通过curl命令测试容器是否正在正常运行,docker run -p 实际上是将本地的8099端口映射到容器的8081端口。

# curl http://localhost:8099

Hello World!

Hostname: a64e25c2a522
Visits: cannot connect to Redis, counter disabled

您可以通过一下命令查看当前机器正在运行的容器

# docker container lsCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMESa64e25c2a522        helloworld:v0.0.1   "python app.py"     7 minutes ago       Up 7 minutes        0.0.0.0:8099->8081/tcp   frosty_newton

以上就是怎么制作第一个docker镜像,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

镜像 命令 制作 容器 目录 运行 内容 端口 可以通过 文件 更多 正在 知识 篇文章 实用 成功 代码 实际 实际上 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 丰台区信息化软件开发价格优惠 数据库新技术教材 达梦数据库最多可存多少汉字 浙江智慧医养软件开发系统 舟山市委网络安全和信息化 沈阳三一重装软件开发 个体工商户经营范围软件开发 网络安全法考试试题及答案 嘉定区新能源软件开发要多少钱 西青区辅助网络技术售后服务 武进区湖塘志扬网络技术工作室 回收服务器回收 DHCP服务器的作用主要是 北京全球软件开发大会 开展网络安全与信息工作简报 互联网科技500强排名 徐州信息网络技术服务 梦幻诛仙服务器2核4g 福建网络安全保障攻防技术 软件开发成本周期 丰台区信息化软件开发价格优惠 数据库访问技术怎么讲解 达梦数据库最多可存多少汉字 我的世界手机版萌新生存服务器 数据库增加列值的宽度 车载软件开发前景 武汉游戏软件开发有限公司 弹窗代码软件开发 肇庆软件开发去哪 网络基础建设包括网络安全
0