更多精彩内容:http://www.codeye.top/

Dockerfile

  • Dockerfile 定义了容器内部环境,虚拟了网络、存储等资源,该环境与系统的其他部分隔离。外部访问服务资源时,Dockerfile会说明需要“复制”到哪些文件哪些环境

创建Dockerfile

vi Dockerfile

文件内容如下:

# Use an official Python runtime as a parent image
FROM python:2.7-slim# Set the working directory to /app
WORKDIR /app# Copy the current directory contents into the container at /app
COPY . /app# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt# Make port 80 available to the world outside this container
EXPOSE 80# Define environment variable
ENV NAME World# Run app.py when the container launches
CMD ["python", "app.py"]

Dockerfile文件中包含了app.py和requirements.txt文件(说明即将进行哪些操作)

app.py文件内容

from flask import Flask
from redis import Redis, RedisError
import os
import socket# Connect to Redis
redis = 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 = "<i>cannot connect to Redis, counter disabled</i>"html = "<h3>Hello {name}!</h3>" \"<b>Hostname:</b> {hostname}<br/>" \"<b>Visits:</b> {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=80)

requirements.txt文件内容

Flask
Redis

内容如下:

创建一个Docker镜像

docker build --tag=friendlyhello .


运行应用

docker run -p 4000:80 friendlyhello


访问:http://localhost:4000/

[Docker入门-2] Docker Containers 的创建和使用相关推荐

  1. Docker入门之Docker Swarm

    一 Docker Swarm简介 Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的 ...

  2. Docker入门 - 005 Docker 容器连接

    Docker 容器连接 前面我们实现了通过网络端口来访问运行在docker容器内的服务.下面我们来实现通过端口连接到一个docker容器 网络端口映射 我们创建了一个 python 应用的容器. do ...

  3. Docker入门-搭建docker私有仓库

    Docker Hub 目前Docker官方维护了一个公共仓库Docker Hub,其中已经包括了数量超过15000个镜像.大部分需求都可以通过在Docker Hub中直接下载镜像来使用. 注册登录 可 ...

  4. [转]docker入门(利用docker部署web应用)

    前言:本课程是在慕课网上学习 第一个docker化的java应用 课程时所做的笔记,供本人复习之用 目录 第一章 什么是docker 1.1 docker的发展史 1.2 docker国内应用史 1. ...

  5. 【docker入门】docker入门

    docker简介: 什么是容器? 一种虚拟化的方案,虚拟化操作系统 只能运行相同或相似内核的操作系统 依赖于linux内核特性:Namespace和Cgroups 什么是docker? 将开发的应用程 ...

  6. docker入门(利用docker部署web应用)

    更新:随手写的一篇博客能收获这么多赞真是挺开心的,不过现在博主很忙,博主本人主要也是从事Java方向对docker暂时没有更深的理解了,写这个目的也是为了自己复习,恕不能对出现问题的同学进行答疑了,当 ...

  7. 3.8 Docker最新入门教程-Docker入门-使用 Docker Compose

    3.8 使用 Docker Compose Docker Compose是一种旨在帮助定义和共享多容器应用程序的工具.使用 Compose,我们可以创建一个 YAML 文件来定义服务,并使用一个命令, ...

  8. docker入门之Docker Engine

    文档:Docker Engine overview | Docker Documentation 1.简介 Docker Engine 是一种开源容器化技术,用于构建和容器化您的应用程序. Docke ...

  9. 【Docker 入门】Docker简介与安装

    Docker Desktop for Windows 目录: Docker Desktop for Windows 1. Docker简介: 2. Docker应用场景: 3. Docker对比虚拟机 ...

  10. Docker入门之Docker Hub学习

    文章目录 1. DockerHub 仓库使用 1) 登录到Docker Hub 2) 将本地镜像推送到Docker Hub 1. DockerHub 仓库使用    Docker Hub是Docker ...

最新文章

  1. Linux01-基本操作与Shell
  2. 不能上传图片和编辑内容很慢,望改进
  3. 国家地理:子宫日记 Womb
  4. vue router按需加载
  5. python3各版本区别-Python2 与Python3的版本区别实例分析
  6. Caffe学习系列(14):初识数据可视化
  7. 有逼格的产品经理都用什么样的杯子?
  8. ttribute value is quoted with which must be escaped when used within the value
  9. javascript判断日期奇偶_js中判断奇数或偶数
  10. Java定义一维数组从键盘赋值
  11. Linux也使用多线程下载
  12. VBS 访问WMI读取IP地址,并将其设置为静态IP
  13. 移动热修复Sophix之初体验
  14. android保存裁剪图片,Android选择图片并裁剪,无法保存经过裁剪的图片
  15. [大话技术]话聊有趣的23种设计模式
  16. 全国计算机的照片规格,照片纸尺寸大小 照片尺寸规格大全
  17. 【嵌入式 C】C语言中格式输出二进制的两种方法
  18. UE4 GamePlay架构学习篇
  19. Flutter获取Android/iOS设备信息
  20. 生物群落数据分析最常用的统计方法:回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法

热门文章

  1. linux桌面应用小结,Linux桌面应用技巧大全
  2. 巧用头条号及悟空问答引流
  3. 计算机音乐大学排名,2019音乐类大学排行榜_2019年世界十大权威大学排名报告发布,中国891所高...
  4. CSS3的新特性:css响应式多列布局、断字
  5. 新能源车牌识别技术发展到哪一步了?
  6. Linux进程突然被杀掉(OOM killer),查看系统日志
  7. 好未来 Dolphin-儿童口语表达能力AI自动评测:顶尖AI算法技术与教育理念的有机结合 | 百万人学AI评选
  8. Rockchip | Rockchip U-Boot的获取与构建
  9. 基于AM5728 DSP+ARM平台的嵌入式车牌识别
  10. Vue 组件封装之 Result 结果页