您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關dockerfile中怎么創建docker鏡像,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創建docker鏡像
兩種方式:docker commit 和 dockerfile
commit命令是使用我們本地已經創建好的容器打包成鏡像,這種方式方便簡單,但是有一個缺點,就是這種方式生成的鏡像中會包含很多我們使用容器過程中產生的中間文件,可能是緩存或者垃圾文件。這樣創建出來的鏡像拉起的容器都會包含這些垃圾文件。所以一般不推薦這種方式。
將需要對鏡像進行的操作全部寫到一個Dockerfile名字的文件中,然后使用docker build命令從這個文件中創建鏡像。這種方法可以使鏡像的創建變得透明和獨立化,并且創建過程可以被重復執行。Dockerfile文件以行為單位,行首為Dockerfile命令,命令都是大寫形式,其后緊跟著的是命令的參數。
先創建一個空目錄mkdir /usr1/xmla_python,然后在目錄下創建Dockerfile文件
# 基礎鏡像
FROM python:3.6
# 作者信息
MAINTAINER xingxingzaixian "942274053@qq.com"
# 設置工作目錄
WORKDIR /app
# 拷貝本地requirements.txt文件到鏡像的/app目錄下
ADD requirements.txt /app
# 把scrapyd配置文件拷貝到鏡像指定目錄
ADD scrapyd.conf ~/.scrapyd.conf
# 創建scrapyd數據目錄,設置時區,保證鏡像時間正常,安裝python環境庫
RUN mkdir /scrapyd &&
pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com -r requirements.txt
# 開放端口,主要是scrapyd端口
EXPOSE 6800 80
# docker容器啟動時執行scrapyd命令,啟動scrapyd
CMD ["scrapyd", "redis-server"]
創建requirements.txt,主要是用來初始化python環境
scrapy==1.5.0scrapyd==1.2.0redis==2.10.6scrapy-redis==0.6.8lxml==4.2.1requests==2.18.4
創建scrapyd.conf文件,主要是配置scrapyd環境,在我們的Dockerfile文件中使用ADD
[scrapyd]
# 項目的eggs存儲位置
eggs_dir = /scrapyd/eggs
# scrapy日志的存儲目錄。如果要禁用存儲日志,請將此選項設置為空,logs_dir=
logs_dir = /scrapyd/logs
# scrapyitem將被存儲的目錄,默認情況下禁用此項,如果設置了值,會覆蓋scrapy的FEED_URI配置項
items_dir =
# 每個蜘蛛保持完成的工作數量。默認為5
jobs_to_keep = 5
# 項目數據庫存儲的目錄
dbs_dir = /scrapyd/dbs
# 并發scrapy進程的最大數量,默認為0,沒有設置或者設置為0時,將使用系統中可用的cpus數乘以max_proc_per_cpu配置的值
max_proc = 0
# 每個CPU啟動的進程數,默認4
max_proc_per_cpu = 4
# 保留在啟動器中的完成進程的數量。默認為100
finished_to_keep = 100
# 用于輪詢隊列的時間間隔,以秒為單位。默認為5.0
poll_interval = 5.0
# webservices監聽地址
bind_address = 0.0.0.0
# 默認 http 監聽端口
http_port = 6800
# 是否調試模式
debug = off
# 將用于啟動子流程的模塊,可以使用自己的模塊自定義從Scrapyd啟動的Scrapy進程
runner = scrapyd.runner
application = scrapyd.app.application
launcher = scrapyd.launcher.Launcher
webroot = scrapyd.website.Root
[services]
schedule.json = scrapyd.webservice.Schedule
cancel.json = scrapyd.webservice.Cancel
addversion.json = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json = scrapyd.webservice.ListSpiders
delproject.json = scrapyd.webservice.DeleteProject
delversion.json = scrapyd.webservice.DeleteVersion
listjobs.json = scrapyd.webservice.ListJobs
daemonstatus.json = scrapyd.webservice.DaemonStatus
主要是eggsdir、logsdir、dbs_dir三個目錄配置,其他的可以默認,這三個目錄的主目錄/scrapyd,我們在Dockerfile文件的RUN命令中添加mkdir /scrapyd來創建
以上創建完以后我們就可以使用docker build命令來構建鏡像了
執行docker build -t scrapy_python .命令構建鏡像,其中-t參數指定鏡像名,.則為Dockerfile文件的路徑
以上就是dockerfile中怎么創建docker鏡像,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。