怎么使用Docker部署第一个应用程序
本篇内容介绍了“怎么使用Docker部署第一个应用程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
通常,开发工作流包括如下几点:
1、首先创建docker镜像,为应用程序的每个组件创建和测试单个容器。
2、将容器和所支持的基础设施组装成一个完整的应用程序,可以用docker stack file或者kubernetes的yaml来实现。
3、测试、共享和部署完整的容器化应用程序。
配置
1、从github克隆用于演示的示例项目。
git clone -b v1 https://github.com/docker-training/node-bulletin-board
cd node-bulletin-board/bulletin-board-app
这是一个简单的公告板应用程序,用node.js编写。在这个例子中,让我们假设是您编写了这个应用程序,现在正试图将其容器化部署起来,目录结构如图1.1所示。
图1.1
查看名字为dockerfile的文件,dockerfile文件描述了如何为容器组装私有的文件系统,并且还包含了一些描述如何基于此镜像运行容器的元数据。公告板应用程序dockerfile如图1.2所示。
图1.2
容器化部署应用程序的第一步是编写dockerfile。您可以把这些dockerfile命令当作是一个创建镜象的步骤。这个步骤如下:
1、使用版本号6.11.5的镜像作为本次构建的基础镜像。6.11.5基础镜像是由node.js官方提供的镜像
2、指定镜像文件系统的工作目录为/usr/src/app,即每次登录基于该镜像创建的容器,目录会自动切换到/usr/src/app
3、将package.json文件复制到镜像的当前位置,即/usr/src/app/package.json
4、在镜像文件系统中运行npm install命令(它将读取package.json以确定应用程序的节点依赖关系,并安装它们)
5、将应用程序的其余源代码从主机复制到镜像中。
您可以看到,这些步骤与您在主机上设置和安装应用程序时可能采取的步骤大致相同,但使用dockerfile允许我们在一个可移植、独立的docker镜像(node.js官方镜像)再次构建。
上面的步骤为镜像构建了文件系统,但是dockerfile中还有一行,cmd命令行。cmd ["要运行的程序","参数1","参数2"] 是告诉容器启动时要运行的命令或脚本,dockerfile中命令告知此镜像要支持的容器化进程是npm start。
注意:dockerfile只能有一条cmd命令,如果有多条,则执行最后一条。
一个dockerfile始终是从from命令开始,上述是一个简单的dockerfile文件,还有更多的dockerfile指令,请参阅dockerfile reference()。
构建镜像并测试
现在我们有了源代码和dockerfile,是时候构建我们的第一个镜像了,并确保从该镜像启动的容器能按预期工作。
注意:本示例使用的是linux容器。使用docker desktop的用户,右键单击系统托盘中的docker徽标,确保您的环境正在运行linux容器,若不是,请点击“switch to linux containers...",如图1.3所示,我当前演示环境使用的已是linux容器。
图1.3
1、进入powershell,并确保您当前目录是node-bulletin-board/bulletin-board-app,如图1.4所示,执行命令
# docker image build -t bulletinboard:1.0 .
图1.4
在构建最后会输出如下字样,表示构建镜像成功。
successfully built 49f9b9fb7daf
successfully tagged bulletinboard:1.0
上述命令表是创建一个名为bulletinboard的镜像(image),tag为1.0,如图1.5所示。
图1.5
2、基于bulletinboard镜像运行一个名为bb的容器并以后台方式运行,将容器内部端口8080,映射到宿主机的8000端口上。
# docker container run --publish 8000:8080 --detach --name bb bulletinboard:1.0
我们可以使用如下命令来查看run指命后可以跟哪些参数
# docker container run --help
我们登录到容器,查看到当前目录就是dockerfile中设置的工作目录,如图1.6所示。
图1.6
3、通过http://localhost:8000来访问您的应用,您将看到如下界面,如图1.7所示,则表示应用容器化部署成功,接下来就是进行测试、构建、发布、分享等过程。
图1.7
4、删除一个容器,即表示该容器的生命周期结束。
# docker container rm --force bb
“怎么使用Docker部署第一个应用程序”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注蜗牛博客网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论