摘要:本篇我們來動手實踐在本地創(chuàng)建一個自己的鏡像應(yīng)用,使用該鏡像創(chuàng)建容器并執(zhí)行容器中的應(yīng)用。非常簡單,我們使用命令使用鏡像創(chuàng)建一個容器實例此刻腦海中浮現(xiàn)。
上篇《前端也要學(xué)Docker啊!》介紹了 Docker 及它的三個主要概念:Image(鏡像)、Container
(容器)、Registry(倉庫) 以及Docker安裝。
本篇我們來動手實踐:在本地創(chuàng)建一個自己的鏡像(Node應(yīng)用),使用該鏡像創(chuàng)建容器并執(zhí)行容器中的Node應(yīng)用。
創(chuàng)建一個Node項目在根目錄創(chuàng)建index.js
//index.js const Koa = require("koa"); const app = new Koa(); app.use(async ctx => { ctx.body = "Hello Docker O(∩_∩)O~~"; }); app.listen(3000);
創(chuàng)建 Docker 鏡像需要用到 docker build命令,而docker build命令又是根據(jù) Dockerfile 配置文件來構(gòu)建鏡像,所以我們要在項目根目錄創(chuàng)建一個 Dockerfile 文件:
#Dockerfile FROM node:10.13-alpine #項目的基礎(chǔ)依賴 MAINTAINER chenLong #項目維護者 COPY . . #將本機根目錄所有文件拷貝到容器的根目錄下 這個可以根據(jù)喜好調(diào)節(jié)路徑 EXPOSE 3000 #容器對外暴露的端口 RUN npm i #安裝node依賴 CMD npm start #在容器環(huán)境里執(zhí)行的命令
你可以到 Docker 官網(wǎng)查看詳細(xì)的Dockfile說明
構(gòu)建鏡像上面 Node 代碼已經(jīng)完成了,我們使用 yarn init -y或 npm init -y 完成package.json初始化,然后安裝一個koa依賴:執(zhí)行yarn add koa或 npm i koa。
然后我們在本地跑一下 node 程序:node index.js,打開瀏覽器輸入 localhost:3000 ,可以看到瀏覽器中成功顯示了 Hello Docker O(∩_∩)O~~ 。
程序沒問題,我們開始構(gòu)建這個鏡像,執(zhí)行命令:docker build -t docker-demo/hello-docker:v1 . (注意最后有個 . 是必須的)
-t: --tag簡寫,鏡像的名字及標(biāo)簽,通常 name:tag 或者 name 格式;可以在一次構(gòu)建中為一個鏡像設(shè)置多個標(biāo)簽。
上面的 docker-demo/hello-docker是我們定義的鏡像名稱,v1是標(biāo)簽名稱(類似版本號)
圖中藍(lán)色框表示 Dockerfile 的執(zhí)行步驟。此時一個名為docker-demo/hello-docker的鏡像已經(jīng)創(chuàng)建完成了,現(xiàn)在我們執(zhí)行docker images查看一下:
表示本地的鏡像列表中已經(jīng)有了我們剛才創(chuàng)建的docker-demo/hello-docker
讓Node程序在Docker中跑起來上面已經(jīng)創(chuàng)建好了鏡像,里面包含著我們寫的代碼,現(xiàn)在我們需要把代碼運行起來。
非常簡單,我們使用docker run命令使用鏡像創(chuàng)建一個容器實例(此刻腦海中浮現(xiàn) var p1 = new Person() )。
我們執(zhí)行命令: docker run -i -t -p 8080:3000 docker-demo/hello-docker:v1
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
-p: 指定端口映射,格式為:主機(宿主)端口:容器端口,這里將容器的3000端口與宿主機的8080端口映射
打開瀏覽器,運行localhost:8080:
完美,容器里的代碼已經(jīng)跑起來了!
總結(jié)在項目根目錄創(chuàng)建 Dockerfile 并配置
使用 docker build 命令創(chuàng)建Docker鏡像,該命令會根據(jù) Dockerfile 里的配置來構(gòu)建鏡像
使用 docker run 命令根據(jù)鏡像創(chuàng)建對應(yīng)的容器實例并運行
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/27911.html
摘要:配置網(wǎng)絡(luò)參照生產(chǎn)環(huán)境配置中的和子網(wǎng)章節(jié)。特別注意觀察和的子網(wǎng)是否與已有網(wǎng)絡(luò)沖突如果有沖突則參考網(wǎng)絡(luò)的中的方法修改子網(wǎng)。部署使用的是的監(jiān)控方案。創(chuàng)建應(yīng)用網(wǎng)絡(luò)創(chuàng)建你也可以改成自己的名字參考網(wǎng)絡(luò)的檢查子網(wǎng)與是否配置正確。 原文 大綱 本文只是一種實際部署方案的例子,涉及到的技術(shù)有(除Docker/Docker Swarm外): Docker overlay network Fluentd...
摘要:本篇我們來動手實踐在本地創(chuàng)建一個自己的鏡像應(yīng)用,使用該鏡像創(chuàng)建容器并執(zhí)行容器中的應(yīng)用。非常簡單,我們使用命令使用鏡像創(chuàng)建一個容器實例此刻腦海中浮現(xiàn)。 上篇《前端也要學(xué)Docker啊!》介紹了 Docker 及它的三個主要概念:Image(鏡像)、Container(容器)、Registry(倉庫) 以及Docker安裝。 本篇我們來動手實踐:在本地創(chuàng)建一個自己的鏡像(Node應(yīng)用),使...
摘要:采用虛擬化的技術(shù)來虛擬化出應(yīng)用程序的運行環(huán)境。安裝成功后,可以通過查看版本號盡量使用最新的穩(wěn)定版本。是鏡像名,是鏡像的版本號,到此你已經(jīng)成功構(gòu)建了一個新的鏡像,你可以通過,查看你的鏡像。部署時將此文件到生產(chǎn)環(huán)境服務(wù)器上。 Docker docker是一個開源的應(yīng)用容器引擎,可以為我們提供安全、可移植、可重復(fù)的自動化部署的方式。docker采用虛擬化的技術(shù)來虛擬化出應(yīng)用程序的運行環(huán)境。此...
摘要:采用虛擬化的技術(shù)來虛擬化出應(yīng)用程序的運行環(huán)境。安裝成功后,可以通過查看版本號盡量使用最新的穩(wěn)定版本。是鏡像名,是鏡像的版本號,到此你已經(jīng)成功構(gòu)建了一個新的鏡像,你可以通過,查看你的鏡像。部署時將此文件到生產(chǎn)環(huán)境服務(wù)器上。 Docker docker是一個開源的應(yīng)用容器引擎,可以為我們提供安全、可移植、可重復(fù)的自動化部署的方式。docker采用虛擬化的技術(shù)來虛擬化出應(yīng)用程序的運行環(huán)境。此...
摘要:應(yīng)用實例創(chuàng)建完成后,會持續(xù)監(jiān)視這些實例。創(chuàng)建時,會創(chuàng)建了一個來托管應(yīng)用。通過請求,可以從集群的外部訪問一個服務(wù)。使用云提供商的負(fù)載均衡器如果支持,可以向外部暴露服務(wù)。使用在中部署第一個應(yīng)用本文以為例進(jìn)行。目標(biāo)是將簡單的應(yīng)用部署在上運行。 Kubernetes是什么? Kubernetes是容器集群管理系統(tǒng),是一個開源的平臺,可以實現(xiàn)容器集群的自動化部署、自動擴縮容、維護等功能。可以在物...
閱讀 2247·2021-11-23 09:51
閱讀 1042·2021-11-18 10:02
閱讀 3434·2021-10-13 09:49
閱讀 1262·2021-09-22 14:57
閱讀 10392·2021-08-18 10:20
閱讀 1181·2019-08-30 15:55
閱讀 2226·2019-08-29 16:06
閱讀 3232·2019-08-29 11:14