溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

docker中Dockerfile文件如何制作鏡像

發(fā)布時間:2021-06-17 13:48:36 來源:億速云 閱讀:176 作者:小新 欄目:服務(wù)器

這篇文章主要為大家展示了“docker中Dockerfile文件如何制作鏡像”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“docker中Dockerfile文件如何制作鏡像”這篇文章吧。

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

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

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

## 一個基礎(chǔ)的 python 運行環(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
## 運行命令
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 = "<h4>Hello {name}!</h4>" \
   "<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.查看新生成了一個image

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

7.啟動image

$ docker run -p 4000:80 myfirstapp

也可以放在后臺運行:

$ docker run -d -p 4000:80 myfirstapp

8.訪問服務(wù)

# curl http://localhost:4000
<h4>Hello world!</h4><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)前運行的鏡像

$ 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

以上是“docker中Dockerfile文件如何制作鏡像”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI