您好,登錄后才能下訂單哦!
編寫 Dockerfile
以 express
自動(dòng)創(chuàng)建的目錄為例,目錄結(jié)構(gòu)如下:
├── /bin │ └── www ├── /node_modules ├── /public ├── /routes ├── /views ├── package-lock.json ├── package.json ├── ecosystem.config.js ├── app.js └── Dockerfile
在項(xiàng)目目錄下新建 Dockerfile
文件
FROM node:10.15 MAINTAINER sunhengzhe@foxmail.com COPY . /app/ WORKDIR /app RUN npm install pm2 -g EXPOSE 8003 CMD ["pm2-runtime", "ecosystem.config.js"]
構(gòu)建鏡像
在項(xiàng)目目錄下執(zhí)行
docker build -t express-app:v1 .
如果構(gòu)建成功,查看鏡像列表
docker images
應(yīng)該會(huì)輸出鏡像 express-app:v1
運(yùn)行容器
docker run -d -p 8003:3000 --name="express-app" express-app:v1
docker run
是 docker create
和 docker start
兩個(gè)命令的簡(jiǎn)寫。
-d
即 --detach
,代表讓容器后臺(tái)運(yùn)行。-p
指定宿主機(jī)和容器的端口映射,左邊為宿主機(jī)的端口,右邊為容器的端口,也就是說(shuō)訪問(wèn)宿主機(jī)的 8003 端口,會(huì)映射到容器內(nèi)的 3000 端口。--name
設(shè)置容器別名,如果不指定,docker 會(huì)隨機(jī)生成一個(gè)名字,比如 tender_swirles
之類的。執(zhí)行
docker ps
正常展示如下
添加 -a
參數(shù)可以查看所有已啟動(dòng)容器。
進(jìn)入容器
如果要進(jìn)入容器進(jìn)行操作,執(zhí)行下面命令
docker exec -it express-app bash
-i
與 -t
一般結(jié)合使用,-i
啟動(dòng)交互模式,-t
指定需要分配終端,可以自行嘗試不傳其中一個(gè)的效果。
與 exec
類似的還有 attach
命令,命令為 docker attach express-app
,但從這個(gè) stdin 中 exit,會(huì)導(dǎo)致容器的停止,所以推薦使用 exec
命令。
關(guān)閉操作
停止容器
docker stop express-app
刪除容器
docker rm express-app
如果刪除時(shí)容器還在運(yùn)行,需要加上 -f
參數(shù)
刪除鏡像
docker rmi express-app:v1
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。