佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > docker Dockerfile文件制作自己的鏡像的方法

docker Dockerfile文件制作自己的鏡像的方法

熱門標(biāo)簽:網(wǎng)站建設(shè) 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 阿里云 檢查注冊表項(xiàng) 智能手機(jī) 美圖手機(jī) 使用U盤裝系統(tǒng) 硅谷的囚徒呼叫中心

1.創(chuàng)建空目錄

$ cd /home/xm6f/dev 
$ mkdir myapp
$ cd myapp/

2.vim Dockerfile,內(nèi)容如下:

## 一個(gè)基礎(chǔ)的 python 運(yùn)行環(huán)境
FROM python
## 設(shè)置工作目錄
WORKDIR /app
## 將當(dāng)前系統(tǒng)文件夾內(nèi)容復(fù)制到容器的 app 目錄
ADD . /app
## 安裝必要的依賴包
RUN pip install -r softwares.txt
## 開放端口,供容器外訪問


EXPOSE 80
EXPOSE 3088
EXPOSE 8080
EXPOSE 8066
## 定義環(huán)境變量
ENV NAME HELLO
## 運(yùn)行命令
CMD ["python","app.py"]

3.安裝依賴

vim softwares.txt,內(nèi)容如下:

Flask
Redis

4.vim app.py,內(nèi)容如下:

from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)
@app.route("/")
def hello():
 try:
  visits = redis.incr("counter")
 except RedisError:
  visits = "<i>cannot 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)

5.編譯

$ docker build -t myfirstapp .

6.查看新生成了一個(gè)image

$ docker images
REPOSITORY     TAG     IMAGE ID   CREATED    SIZE
myfirstapp     latest    01ea1129a831  2 hours ago   699MB
 

7.啟動(dòng)image

$ docker run -p 4000:80 myfirstapp 

也可以放在后臺運(yùn)行:

$ docker run -d -p 4000:80 myfirstapp

8.訪問服務(wù)

# curl http://localhost:4000
<h3>Hello world!</h3><b>Hostname:</b> a6655d0d7e74<br/><b>Visits:</b> <i>cannot connect to Redis, counter disabled</i>

或者瀏覽器訪問服務(wù):http://192.168.1.160:4000

9.查看當(dāng)前運(yùn)行的鏡像

$ docker ps
CONTAINER ID MAGE   COMMAND   CREATED  STATUS  PORTS     NAMES
2db45cab2bb4 myfirstapp "python app.py" 2 minutes ago Up 2 minutes 0.0.0.0:4000->80/tcp elastic_wilson

10.停止鏡像

$ docker stop 2db45cab2bb4

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:懷化 黃山 賀州 通遼 山南 湖北 湘潭 煙臺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker Dockerfile文件制作自己的鏡像的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    盐池县| 桦南县| 蓬安县| 盐山县| 固始县| 抚顺市| 什邡市| 翼城县| 定兴县| 定结县| 淮滨县| 台前县| 徐州市| 全南县| 太白县| 依兰县| 富蕴县| 铁岭市| 星座| 酒泉市| 常州市| 壶关县| 三门县| 巩义市| 诸城市| 通城县| 南阳市| 宁安市| 金川县| 镇平县| 稷山县| 耿马| 墨玉县| 永福县| 吴江市| 托克逊县| 方城县| 班戈县| 荔波县| 桦南县| 康马县|