摘要:簡介是一個文本格式的配置文件,用戶可以使用快速創建自定義鏡像指令及說明指令說明指定基礎鏡像且必須是第一條指令指定鏡像作者運行指定的命令默認指定容器啟動時要執行的命令設置鏡像標簽把文件復制到鏡像中類似編譯時復制本地文件到鏡像中設置指令的工作
簡介
Dockerfile是一個文本格式的配置文件,用戶可以使用Dockerfile快速創建自定義鏡像
指令 | 說明 |
---|---|
FROM | 指定基礎鏡像 且必須是第一條指令 |
MAINTAINER | 指定鏡像作者 |
RUN | 運行指定的命令 默認/bin/sh -c |
CMD | 指定容器啟動時要執行的命令 |
LABEL | 設置鏡像標簽 |
ADD | 把文件復制到鏡像中 類似scp |
COPY | 編譯時復制本地文件到鏡像中 |
WORKDIR | 設置RUN CMD COPY ADD指令的工作目錄 不存在則創建 |
ENTRYPOINT | 設置容器入口程序 |
VOLUME | 設置容器的掛載卷 |
USER | 設置運行RUN CMD ENTRYPOINT的用戶名 |
ARG | 設置編譯時加入的參數 |
EXPOSE | 設置鏡像暴露的端口 |
ENV | 設置容器的環境變量 |
ONBUILD | 設置鏡像的ONBUILD指令 |
STOPSIGNAL | 設置容器的退出信號量 |
HEALTHCHECK | 容器監控狀況檢查命令 |
#This is SMS Dockerfile #Version 1.0 #Author: LYW #基礎鏡像 FROM daocloud.io/library/centos #維護者信息 MAINTAINER LYW # 標簽 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 #聲明環境變量 ENV PATH /usr/local/python3/bin:$PATH # CMD ["python3 -V"]運行
構建鏡像
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...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27392.html
摘要:現在有了之后,部署方式變了更加容易,不容易出現配置錯誤,環境不一致問題。實際應用中,經常遇到多個容器相配合運行一套應用程序的情況。所以想要將應用運行在容器中,該容器必須將該應用所有的環境依賴安裝好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景 ??以前部署應用,需要各種環境配置,各種shell操作...
摘要:現在有了之后,部署方式變了更加容易,不容易出現配置錯誤,環境不一致問題。實際應用中,經常遇到多個容器相配合運行一套應用程序的情況。所以想要將應用運行在容器中,該容器必須將該應用所有的環境依賴安裝好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景 ??以前部署應用,需要各種環境配置,各種shell操作...
摘要:接下來,我們來看一個更酷的工作流程,即通過引入來實現項目的持續集成。是一個持續集成發布平臺,支持對容器進行測試。取消對的選中狀態。 showImg(https://segmentfault.com/img/bVk4cF); 借助Docker,我們可以更容易地進行web應用部署,而同時不必頭疼于項目依賴、環境變量以及各種配置問題,Docker可以快捷、高效地處理好這一切。 而這也是本...
摘要:在默認情況下使用的公共注冊表。注意我們將在這里使用的公共注冊表,因為它是免費和預配置的,但是有許多公共注冊中心可供選擇,而且您甚至可以使用可信注冊表建立您自己的私有注冊表。標記鏡像將本地映像與注冊表中的存儲庫關聯的符號是。 要求 安裝了1.13或者更高版本的Docker 閱讀了Part1中的定位(我沒寫) 介紹 是時候用Docker構建一個app了。我們會從構建這樣一個app的最底...
閱讀 6179·2021-11-22 15:32
閱讀 813·2021-11-11 16:54
閱讀 3157·2021-10-13 09:40
閱讀 2162·2021-09-03 10:35
閱讀 1824·2021-08-09 13:47
閱讀 1865·2019-08-30 15:55
閱讀 1933·2019-08-30 15:43
閱讀 2455·2019-08-29 17:06