从入门到跑路之Kubernetes(三)

2019-07-17 15:20:09 浏览数 (1)

今天说说overlay,并且制作一个炒鸡简单的Docker镜像

小鲸鱼有大能量

01.Overlayfs存储驱动

Overlay是一种联合文件系统,设计简单,速度更快。Overlayfs在Linux主机上只有两层,一个目录在下层,用来保存镜像,另外一个目录在上层,用来存储容器信息。在overlayfs中,底层的目录叫做lowerdir,顶层的目录叫做upperdir,对外提供统一的文件系统为merged。

从图中可以看出,与前面rootfs镜像里说的一样,镜像层(lowerdir)和容器层(upperdir)可以保存相同的文件,容器层的文件会覆盖镜像层的文件。

02.做一个镜像

下面一起来从头做一个Docker镜像

首先使用flask写一个简单的web应用

非常简单的flask,小伙伴们很容易就能够看明白吧。

添加依赖文件

在同级目录下创建requirements.txt文件添加依赖,

$cat requirements.txt

Flask

下面开始容器化,编写Dockerfile文件

使用Dockerfile,在同级目录创建Dockerfile文件,内容如下

# 使用官方提供的Python开发镜像作为基础镜像

FROM python:3.6-slim

# 切换目录至 /app

WORKDIR /app

# 将当前目录下的所有内容复制到 /app下

ADD . /app

# 使用pip 命令安装依赖包

RUN pip install --trusted-hostpypi.python.org -r requirements.txt

# 允许外界访问容器的80端口

EXPOSE 80

# 设置环境变量

ENV NAME World

#设置容器启动进程

ENTRYPOINT python3 app.py

最后制作镜像

使用docker build制作镜像

$ docker build –t test_web .

查看images

$docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

test-web latest 8254a41d2f19 4 days ago 147MB

启动容器

$ docker run –p 4000:80 test_web

访问web服务

$curl http://localhost:4000

<h3>HelloWorld!</h3><b>Hostname:</b>db7e48f83dbc<br/>

到这里,小小的镜像就制作完成啦。

03. 下期预告

后面就要进入Kubernetes的学习了,希望自己能够坚持下去,也希望小伙伴们能够一起前进!

如果喜欢我的文章,那就关注我吧!

万分感谢!

0 人点赞