自己制作docker镜像,制作docker镜像方法

  自己制作docker镜像,制作docker镜像方法

  1.简介以前如果你想开始写Python应用,第一步是在你的机器上安装Python运行环境,而且安装环境还得和网上的一致,比较麻烦。

  使用docker,您可以从Docker的官方注册表或其他存储库中获得可移植的Python运行时映像,而无需安装它。然后,您可以基于此映像开发您的应用程序,这可以确保您的应用程序、依赖项和运行时一起运行。

  2.构建python映像2.1。为了构建自己的映像,首先需要创建一个名为Dockerfile的文件,该文件用于定义创建映像和运行容器所需的步骤。Dockerfile中的每条指令都在镜像中创建一个层次结构。当您更改Dockerfile并构建映像时,只会重新构建那些已更改的级别。与其他虚拟化技术相比,这是镜像轻量级、紧凑且快速的原因之一。

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

  #使用官方Python运行时作为父映像来自python:2.7-slim#将工作目录设置为/appWORKDIR /app#将当前目录内容复制到位于/appADD的容器中。/app#安装requirements.txt run pip Install-trusted-host pypi.python.org-r requirements . txt #使端口80对该容器之外的世界可用EXPOSE 80#定义环境变量ENV NAME World# Run.py当容器在Dockerfile文件所在的目录中启动cmd [python , app.py] 2.2时,创建requirements . txt和app.py文件。由于Dockerfile文件的ADD命令,以上两个文件将被添加到最终的图像中;由于EXPOSE命令,您只能通过访问容器的端口80来访问app.py的内容。注意:这里的端口80是指容器暴露的端口,不是实际机器的端口。

  requirements.txt

  FlaskRedis应用程序. py

  from Flask import Flask from Redis import Redis,Redis error import OSI import socket # Connect to Redis=Redis(host= Redis ,db=0,socket_connect_timeout=2,socket _ time out=2)app=Flask(_ _ name _ _)@ app . route(/)def hello():try:visits=Redis . incr( counter )except Redis error:visits= I can not 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)

  2.3将我们的应用程序打包成一个映像,该映像应该在DockerFile目录中执行。这将创建一个Docker图像,我们将用-t标记它,使图像有一个友好的名称。

  Docker build -t friendlyhello3运行映像

  运行应用程序并使用-p将机器的端口4000映射到容器公开的端口80:

  docker run-p 4000:80 friendly hello

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

  $ curl http://localhost:4000 H3 hello World!/h3b主机名:/b 8fc 990912 a 14 br/b访问:/b I无法连接到Redis,计数器被禁用/i

  单击crtl c结束应用程序。

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

  docker run-d-p 4000:80 friendly hello

  检查所有集装箱信息。

  28秒前创建了docker container ls container ID IMAGE命令1 fa 4a B2 cf 395 friendly hello python app . py

  现在使用docker容器停止来结束这个过程,使用容器ID,如下所示:

  Er容器停止1fa4b2cf3954,发布图像

  4.1.我用的是阿里云的docker registry,感觉应该更快。首先你得有一个阿里云的账号。然后登录,新建一个仓库,设置命名空间等信息。

  4.2登录阿里云的docker注册表,后续操作需要登录后才能执行。

  sudo docker登录-用户名=管理员registry.cn-hangzhou.aliyuncs.com

  4.3对于镜像标记,标记是可选的,如果不是,默认为最新

  格式:

  Docker标签image _ name registry _ URL/namespace/repository _ name:[标签]例如

  坞站标签你好登记处。氰根杭州。阿里尤克斯。com/周树/演示1:最新查看本地的镜像列表

  ls4.4图像坞站发布镜像

  码头推动器。氰根杭州。阿里尤克斯。com/周树/演示1:最新

  4.5版现在你可以在任何一台机器上执行下面的命令,运行镜像

  码头运行-p 4000:80注册表。氰根杭州。阿里尤克斯。com/周树/演示1:最新

  4.6拉取镜像

  码头牵引登记处。氰根杭州。阿里尤克斯。com/周树/演示1:最新

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • docker常用命令详解,docker常用命令大全简书
  • docker常用命令详解,docker常用命令大全简书,docker常用命令总结(推荐)
  • docker容器的概念,docker原理详解
  • docker容器的概念,docker原理详解,docker容器的原理分析
  • docker容器和镜像的删除命令,docker怎么删除镜像文件
  • docker容器和镜像的删除命令,docker怎么删除镜像文件,Docker 删除及清理镜像的方法
  • docker完全卸载重装,docker容器和镜像的删除命令
  • docker完全卸载重装,docker容器和镜像的删除命令,docker镜像完全卸载的操作步骤
  • docker安装菜鸟教程,docker中安装docker
  • docker安装菜鸟教程,docker中安装docker,快速安装Docker详细步骤教程
  • docker安装使用,docker中安装docker
  • docker安装使用,docker中安装docker,Docker入门安装教程(小白篇)
  • docker 镜像库,常用docker镜像仓库
  • docker 镜像库,常用docker镜像仓库,Docker容器实战之镜像仓库
  • docker 容器部署,docker中安装docker
  • 留言与评论(共有 条评论)
       
    验证码: