摘要:簡介是一個文本格式的配置文件,用戶可以使用快速創(chuàng)建自定義鏡像指令及說明指令說明指定基礎(chǔ)鏡像且必須是第一條指令指定鏡像作者運(yùn)行指定的命令默認(rèn)指定容器啟動時要執(zhí)行的命令設(shè)置鏡像標(biāo)簽把文件復(fù)制到鏡像中類似編譯時復(fù)制本地文件到鏡像中設(shè)置指令的工作
簡介
Dockerfile是一個文本格式的配置文件,用戶可以使用Dockerfile快速創(chuàng)建自定義鏡像
指令 | 說明 |
---|---|
FROM | 指定基礎(chǔ)鏡像 且必須是第一條指令 |
MAINTAINER | 指定鏡像作者 |
RUN | 運(yùn)行指定的命令 默認(rèn)/bin/sh -c |
CMD | 指定容器啟動時要執(zhí)行的命令 |
LABEL | 設(shè)置鏡像標(biāo)簽 |
ADD | 把文件復(fù)制到鏡像中 類似scp |
COPY | 編譯時復(fù)制本地文件到鏡像中 |
WORKDIR | 設(shè)置RUN CMD COPY ADD指令的工作目錄 不存在則創(chuàng)建 |
ENTRYPOINT | 設(shè)置容器入口程序 |
VOLUME | 設(shè)置容器的掛載卷 |
USER | 設(shè)置運(yùn)行RUN CMD ENTRYPOINT的用戶名 |
ARG | 設(shè)置編譯時加入的參數(shù) |
EXPOSE | 設(shè)置鏡像暴露的端口 |
ENV | 設(shè)置容器的環(huán)境變量 |
ONBUILD | 設(shè)置鏡像的ONBUILD指令 |
STOPSIGNAL | 設(shè)置容器的退出信號量 |
HEALTHCHECK | 容器監(jiān)控狀況檢查命令 |
#This is SMS Dockerfile #Version 1.0 #Author: LYW #基礎(chǔ)鏡像 FROM daocloud.io/library/centos #維護(hù)者信息 MAINTAINER LYW # 標(biāo)簽 LABEL version="1.0" # 安裝依賴 RUN yum -y install wget gcc gcc-c++ make openssl-devel zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel svn # 添加需要下載的資源 RUN mkdir /usr/local/python3 ADD http://XXX/software/Python-3.6.1.tgz /usr/local/src WORKDIR /usr/local/src/ RUN tar -zxvf Python-3.6.1.tgz WORKDIR /usr/local/src/Python-3.6.1 # 安裝python RUN ./configure --prefix=/usr/local/python3 RUN make && make install RUN ln -s /usr/local/python3/bin/python3 /usr/bin/python3 # 安裝pip包 RUN /usr/local/python3/bin/pip3 install Flask RUN /usr/local/python3/bin/pip3 install pymysql #目錄掛載 VOLUME ["/data/sms"] #端口 EXPOSE 5000 EXPOSE 22 #聲明環(huán)境變量 ENV PATH /usr/local/python3/bin:$PATH # CMD ["python3 -V"]運(yùn)行
構(gòu)建鏡像
docker build -t python/sms:v0.1 .
基于鏡像啟動容器
docker run -tid --name sms_01 -p 5000:5000 -p 5022:22 python/sms:v0.1 /sbin/init參考
https://www.cnblogs.com/dazho...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27392.html
摘要:現(xiàn)在有了之后,部署方式變了更加容易,不容易出現(xiàn)配置錯誤,環(huán)境不一致問題。實(shí)際應(yīng)用中,經(jīng)常遇到多個容器相配合運(yùn)行一套應(yīng)用程序的情況。所以想要將應(yīng)用運(yùn)行在容器中,該容器必須將該應(yīng)用所有的環(huán)境依賴安裝好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景 ??以前部署應(yīng)用,需要各種環(huán)境配置,各種shell操作...
摘要:現(xiàn)在有了之后,部署方式變了更加容易,不容易出現(xiàn)配置錯誤,環(huán)境不一致問題。實(shí)際應(yīng)用中,經(jīng)常遇到多個容器相配合運(yùn)行一套應(yīng)用程序的情況。所以想要將應(yīng)用運(yùn)行在容器中,該容器必須將該應(yīng)用所有的環(huán)境依賴安裝好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景 ??以前部署應(yīng)用,需要各種環(huán)境配置,各種shell操作...
摘要:接下來,我們來看一個更酷的工作流程,即通過引入來實(shí)現(xiàn)項(xiàng)目的持續(xù)集成。是一個持續(xù)集成發(fā)布平臺,支持對容器進(jìn)行測試。取消對的選中狀態(tài)。 showImg(https://segmentfault.com/img/bVk4cF); 借助Docker,我們可以更容易地進(jìn)行web應(yīng)用部署,而同時不必頭疼于項(xiàng)目依賴、環(huán)境變量以及各種配置問題,Docker可以快捷、高效地處理好這一切。 而這也是本...
摘要:在默認(rèn)情況下使用的公共注冊表。注意我們將在這里使用的公共注冊表,因?yàn)樗敲赓M(fèi)和預(yù)配置的,但是有許多公共注冊中心可供選擇,而且您甚至可以使用可信注冊表建立您自己的私有注冊表。標(biāo)記鏡像將本地映像與注冊表中的存儲庫關(guān)聯(lián)的符號是。 要求 安裝了1.13或者更高版本的Docker 閱讀了Part1中的定位(我沒寫) 介紹 是時候用Docker構(gòu)建一個app了。我們會從構(gòu)建這樣一個app的最底...
閱讀 6213·2021-11-22 15:32
閱讀 828·2021-11-11 16:54
閱讀 3166·2021-10-13 09:40
閱讀 2173·2021-09-03 10:35
閱讀 1843·2021-08-09 13:47
閱讀 1881·2019-08-30 15:55
閱讀 1941·2019-08-30 15:43
閱讀 2463·2019-08-29 17:06