第一次构建、运行,发布,获取码头工人镜像的步骤详解

  

<强> 1,前言

  

过去,如果您要开始编写Python应用程序,第一步就是把Python的运行环境安装到您的机器上,而且安装的环境还要和线上的一致,比较麻烦。

  

使用码头工人,您可以从码头工人的官方注册表或者其他仓库,获取一个可移植的Python运行环境镜像,无需安装。然后,你可以基于这个镜像开发你的应用程序,这样可以确保您的应用程序,依赖项和运行时都一起运行。

  

<强> 2,构建一个python镜像

  

2.1,为了构建您自己的镜像,首先需要创建一个名称为Dockerfile的文件,用于定义创建镜像并运行容器所需的步骤。Dockerfile中的每条指令都会在镜像中创建一个层级。当您更改Dockerfile并重新构建镜像时,只重建那些更改的层级。与其他虚拟化技术相比,这是使镜像轻量,小巧,快速的一个原因。

  

创建一个空目录,创建一个名为Dockerfile的文件,将以下内容复制并粘贴到该文件中并保存。

        #使用官方Python运行时作为一个家长的形象   从python 2.7苗条   #设置工作目录为/应用程序   WORKDIR/应用程序   #当前目录的内容复制到容器在/app   添加。/应用程序   #安装任何需要让中指定的包   运行pip安装——可信主机pypi.python.org - r让   #让外面的世界这个容器可用端口80   80年公开   #定义环境变量   ENV名字世界   # app.py当容器启动运行   CMD (“python”、“app.py”)      

2.2在与Dockerfile文件同一个目录下,创建让和app.py文件。因为Dockerfile文件的加命,令上面的两个文件会被加到最终的镜像中,因为暴露命令,访问容器的80端口,才可以访问到应用程序。py的内容,注意:这里的80端口指的是容器暴露的端口,并不是实际机器的端口。
  让

  
  


  复述,

     

<强> app.py

        从进口瓶瓶   从进口复述,复述,RedisError   进口操作系统   进口套接字   #连接复述,   复述=复述(主机=案词觥?德国联邦铁路(db)=0, socket_connect_timeout=2, socket_timeout=2)   应用=瓶(__name__)   @app.route (“/?   def hello ():   试一试:   访问=redis.incr(“计数器”)   除了RedisError:   访问=" & lt; i>不能连接到复述,计数器disabled”   html=" & lt; h4>你好{名称}! & lt;/h4>”\   “& lt; b>主机名:& lt;/b>{主机名}& lt; br/祝辞;”\   “& lt; b>访问:& lt;/b>{访问}”   返回html.format (name=操作系统。采用“名称”、“世界”),主机名=socket.gethostname(),访问=访问)   if __name__==癬_main__”:   app.run(主机=0.0.0.0,端口=80)      

2.3把我们的应用打包为镜,像要在DockerFile目录下执行。这会创建一个码头工人镜像,我们将使用- t标记它,以使镜像有一个友好的名称。

        码头工人建造- t friendlyhello      

<强> 3,运行镜像

  

运行应用程序,使用- p将机器的端口4000映射到容器暴露的端口80:

        码头工人运行- p 4000:80 friendlyhello      

第一次构建、运行,发布,获取码头工人镜像的步骤详解

  

您也可以在shell中使用curl命令来查看相同的内容。

        curl http://localhost: 4000美元   & lt; h4> Hello World ! & lt;/h4> & lt; b>主机名:& lt;/b>8 fc990912a14
访问:& lt;/b>& lt; i>不能连接到复述,计数器disabled      

按crtl + c结束应用

  

现在让我们在后台运行应用程序:

        码头工人运行- d - p 4000:80 friendlyhello      

查看所有的容器信息

  
  

美元集装箱码头工人ls
  容器ID ,,,,,,IMAGE ,,,,,,,,,,,,,COMMAND ,,,,,,,,,,,创建
  1 fa4ab2cf395 ,,,,,,friendlyhello ,,,,,“python app.py”,,,,28秒前

     

现在使用集装箱码头工人停止来结束进程,使用容器ID,如下所示:

        集装箱码头工人停止1 fa4ab2cf395      

<强> 4,发布镜像

  

4.1,我使用的是阿里云的码头工人注册表,感觉应该会比较快。首先你要有一个阿里云的账号。然后登陆进去新建一个仓库,设置命名空间等信息。

第一次构建、运行,发布,获取码头工人镜像的步骤详解