今天小编给大家分享一下Docker如何安装与应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在mac下安装docker打开docker下载网址下载稳定版本,并安装和运行docker。顶部状态栏中的鲸鱼指示docker正在运行,并可以从终端访问。点击顶部状态栏中的鲸鱼,选择about docker
以验证是否有最新版本。运行这些命令来测试docker、docker-ompose、docker-machine版本是否是最新的,并且和docker.app兼容。打开一个命令行终端,你可以运行一些docker命令来验证docker是否正常工作。比如使用docker version
来检查你是否安装了最新版本,使用docker ps
来列出正在运行的容器,使用docker run hello-world
运行示例程序。使用docker run
命令可以启动一个新容器,这种单一的命令将触发安装运行序列:先在本机寻找该镜像,如果本机找不到就去docker hub下载这个镜像,并把镜像加载到容器中,然后启动该程序,这样容器就运行起来了。其他系统可以参考安装。docker示例项目现在开始使用docker构建应用程序,从docker应用程序的层次结构底部开始,应用程序是一个容器,在这个层次上面是一个服务,它定义了容器在运行时的行为方式,最后,在顶层是堆栈,定义了所有服务的交互。在过去,如果要开始编写一个python应用程序,第一步就是在机器上安装一个python运行库,但是,这会造成应用程序只能在您的机器运行。使用docker可以将一个可移植的python运行时环境作为一个镜像来获取,无需安装。然后构建可以将基础python镜像与应用程序代码一起包括在内,确保您的应用程序、依赖项和运行时环境都一起移动。这些可移植的镜像是由一个叫做dockerfile
的东西来定义的。用dockerfile定义容器d 香港云主机ockerfile
将定义容器内的环境中发生了什么,访问像网络接口和磁盘驱动器这样的资源是在这个环境中虚拟化的,这个环境与系统的其他部分是隔离的,所以必须将端口映射到外部世界,并具体说明想复制哪些文件到那个环境。完成这些工作后,这个dockerfile
中定义的应用程序在任何地方运行都将有完全相同的表现。创建一个新的目录,在新目录下创建一个名为dockerfile
的文件,将以下内容复制并粘贴到该文件中保存。创建并编辑应用程序创建requirements.txt文件,并放在与dockerfile
相同的目录下。创建app.py文件,并放在与dockerfile
相同的目录下。很简单的就完成了应用程序部分,当dockerfile
被内置到镜像中时,由于dockerfile
的add
命令,app.py和requirements.txt将会出现,并且app.py的输出将可以通过http访问,这要归功于expose
命令。构建应用程序打开一个命令行终端,确保仍然在新目录的顶层,运行构建命令,这会创建一个docker镜像。构建的镜像可以在本地docker镜像注册表中看到。运行应用程序运行应用程序,使用-p将机器的端口4000映射到容器的已发布端口80。现在应该看到一条消息,python在http://0.0.0.0:80上提供应用程序,但是这个消息来自容器内部,它并不知道该容器的端口80映射到4000,因此正确的url为http://localhost:4000。也可以在命令行终端中使用curl命令来查看相同的内容。这个4000:80的端口重映射是为了演示dockerfile
中的expose
与使用docker run -p
发布的内容之间的区别。在后面的步骤中,会将主机上的端口80映射到容器中的端口80,并使用http://localhost。在mac下,在命令行终端中点击ctrl + c即可退出。而在windows系统下,ctrl + c不会停止容器。因此,首先键入ctrl + c来获取提示,或打开另一个shell,然后键入docker container ls
列出正在运行的容器,接着是docker container stop
以停止容器。否则,当尝试在下一步中重新运行容器时,将从守护程序中收到错误响应。现在以分离模式在后台运行应用程序。容器正在后台运行,您还可以使用docker container ls查看container id。可以看到container id与http://localhost:4000上的内容匹配。现在使用docker container stop
来结束进程。分享镜像为了演示镜像的可移植性,上传我们构建的镜像,并在其他地方运行它,毕竟,将容器部署到生产环境中时,需要学习如何使用注册表。一个注册表是一个存储库的集合,一个存储库是一个镜像集合,有点像github存储库,除了代码已经建立。注册表上的帐户可以创建许多存储库。docker cli默认使用docker的公共注册表。在这里使用docker的公共注册表,是因为它免费,并且是预配置的,但是有许多公共选项可供选择,甚至可以使用docker trusted registry设置您自己的私有注册表。使用docker id登录如果没有docker帐户,请在docker官网注册一个。然后,登录到本地机器上的docker公共注册表。标记镜像将本地镜像与注册表中的存储库相关联的符号是username/repository:tag
,该tag是可选的,但推荐使用,因为这是注册管理机构为docker镜像提供版本的机制。给存储库标记一个有意义的名字,比如get-started:part2
,这会将镜像放入启动存储库,并将其标记为part2。现在,把它们放在一起来标记镜像,使用用户名、存储库、标签名称运行docker tag image,以便镜像将上传到想要的目的地。运行docker images
或docker image ls
以查看新标记的镜像。发布镜像将您标记的镜像上传到存储库。一旦完成,这个上传的结果是公开的,如果你登录到docker hub ,你将会看到那个新的镜像和它的pull
命令。从远程存储库中提取并运行镜像从现在开始,可以使用docker run并使用此命令在任何机器上运行您的应用程序。如果镜像在机器上本地不可用,docker将从存储库中取出。无论docker run
在哪里,它都会将您的镜像、python以及所有依赖项从requirements.txt中提取出来,并运行您的代码。它们被打包在行李箱中一起旅行,主机不需要安装任何东西,除了docker环境来运行它。以上就是“Docker如何安装与应用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注开发云行业资讯频道。
相关推荐: Javascript的Functuion对象有哪些特点
本篇内容介绍了“Javascript的Functuion对象有哪些特点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!特点1、方法的定义是,形参的类型不需要写,返…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。