日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Dockerfile语法

發(fā)布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dockerfile语法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Dockerfile 語法示例

Dockerfile語法由兩部分構(gòu)成,注釋和命令+參數(shù)

  • # Line blocks used for commenting
  • command argument argument ..

一個簡單的例子:

  • # Print "Hello docker!"
  • RUN echo "Hello docker!"

Dockerfile 命令

Dockerfile有十幾條命令可用于構(gòu)建鏡像,下文將簡略介紹這些命令。

ADD

ADD命令有兩個參數(shù),源和目標(biāo)。它的基本作用是從源系統(tǒng)的文件系統(tǒng)上復(fù)制文件到目標(biāo)容器的文件系統(tǒng)。如果源是一個URL,那該URL的內(nèi)容將被下載并復(fù)制到容器中。

  • # Usage: ADD [source directory or URL] [destination directory]
  • ADD /my_app_folder /my_app_folder
  • CMD

    和RUN命令相似,CMD可以用于執(zhí)行特定的命令。和RUN不同的是,這些命令不是在鏡像構(gòu)建的過程中執(zhí)行的,而是在用鏡像構(gòu)建容器后被調(diào)用。

  • # Usage 1: CMD application "argument", "argument", ..
  • CMD "echo" "Hello docker!"
  • ENTRYPOINT

    配置容器啟動后執(zhí)行的命令,并且不可被?docker?run?提供的參數(shù)覆蓋。

    每個?Dockerfile?中只能有一個?ENTRYPOINT,當(dāng)指定多個時,只有最后一個起效。

    ENTRYPOINT 幫助你配置一個容器使之可執(zhí)行化,如果你結(jié)合CMD命令和ENTRYPOINT命令,你可以從CMD命令中移除“application”而僅僅保留參數(shù),參數(shù)將傳遞給ENTRYPOINT命令。

  • # Usage: ENTRYPOINT application "argument", "argument", ..
  • # Remember: arguments are optional. They can be provided by CMD
  • # or during the creation of a container.
  • ENTRYPOINT echo
  • # Usage example with CMD:
  • # Arguments set with CMD can be overridden during *run*
  • CMD "Hello docker!"
  • ENTRYPOINT echo
  • ENV

    ENV命令用于設(shè)置環(huán)境變量。這些變量以”key=value”的形式存在,并可以在容器內(nèi)被腳本或者程序調(diào)用。這個機(jī)制給在容器中運(yùn)行應(yīng)用帶來了極大的便利。

  • # Usage: ENV key value
  • ENV SERVER_WORKS 4
  • EXPOSE

    FROM命令可能是最重要的Dockerfile命令。改命令定義了使用哪個基礎(chǔ)鏡像啟動構(gòu)建流程。基礎(chǔ)鏡像可以為任意鏡 像。如果基礎(chǔ)鏡像沒有被發(fā)現(xiàn),Docker將試圖從Docker image index來查找該鏡像。FROM命令必須是Dockerfile的首個命令

  • # Usage: FROM [image name]
  • FROM ubuntu
  • MAINTAINER

    我建議這個命令放在Dockerfile的起始部分,雖然理論上它可以放置于Dockerfile的任意位置。這個命令用于聲明作者,并應(yīng)該放在FROM的后面。

  • # Usage: MAINTAINER [name]
  • MAINTAINER authors_name
  • RUN

    RUN命令是Dockerfile執(zhí)行命令的核心部分。它接受命令作為參數(shù)并用于創(chuàng)建鏡像。不像CMD命令,RUN命令用于創(chuàng)建鏡像(在之前commit的層之上形成新的層)。

  • # Usage: RUN [command]
  • RUN aptitude install -y riak
  • USER

    USER命令用于設(shè)置運(yùn)行容器的UID。

  • # Usage: USER [UID]
  • USER 751
  • VOLUME

    VOLUME命令用于讓你的容器訪問宿主機(jī)上的目錄。

  • # Usage: VOLUME ["/dir_1", "/dir_2" ..]
  • VOLUME ["/my_files"]
  • WORKDIR

    WORKDIR命令用于設(shè)置CMD指明的命令的運(yùn)行目錄。

  • # Usage: WORKDIR /path
  • WORKDIR ~/
  • 如何構(gòu)建一個docker鏡像

    使用Dockerfiles和手工使用Docker Daemon運(yùn)行命令一樣簡單。腳本運(yùn)行后輸出為新的鏡像ID

    sudo docker build -t my_mongodb .

    實(shí)例創(chuàng)建一個nginx鏡像

    運(yùn)用FROM命令和MAINTAINER命令

  • ############################################################
  • # Dockerfile to build Nginx Installed Containers
  • # Based on Ubuntu
  • ############################################################
  • # Set the base image to Ubuntu
  • FROM ubuntu
  • # File Author / Maintainer
  • MAINTAINER Maintaner Name
  • 安裝nginx

  • # Install Nginx
  • # Add application repository URL to the default sources
  • RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.list
  • # Update the repository
  • RUN apt-get update
  • # Install necessary tools
  • RUN apt-get install -y nano wget dialog net-tools
  • # Download and Install Nginx
  • RUN apt-get install -y nginx
  • 安裝Nginx后,我們需要配置Nginx并且替換掉默認(rèn)的配置文件

  • # Remove the default Nginx configuration file
  • RUN rm -v /etc/nginx/nginx.conf
  • # Copy a configuration file from the current directory
  • ADD nginx.conf /etc/nginx/
  • # Append "daemon off;" to the beginning of the configuration
  • RUN echo "daemon off;" >> /etc/nginx/nginx.conf
  • # Expose ports
  • EXPOSE 80
  • # Set the default command to execute
  • # when creating a new container
  • CMD service nginx start
  • 替換的配置文件內(nèi)容

    worker_processes 1;events { worker_connections 1024; }http {sendfile on;server {listen 80;location / {proxy_pass http://httpstat.us/;proxy_set_header X-Real-IP $remote_addr;}}}

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/xzkzzz/p/9906547.html

    總結(jié)

    以上是生活随笔為你收集整理的Dockerfile语法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩一级黄色大片 | 91中文字幕在线 | 免费看的黄网站 | 欧美123区| 四季av一区二区夜夜嗨 | 国产aⅴ爽av久久久久成人 | 懂色av蜜臂av粉嫩av | 他趴在我两腿中间添得好爽在线看 | 免费色网| 中文字幕一区二区不卡 | 在线天堂资源 | 亚洲免费一区 | 天天超碰| 黄色福利在线观看 | 精品国产一区二区三区久久久 | 午夜小视频在线播放 | 一区视频在线 | 寂寞人妻瑜伽被教练日 | 免费a级 | 黑人巨大精品欧美一区二区 | 国产精品videos | 天天天天天天干 | 午夜激情视频网 | 日韩一级 | 日韩有码在线视频 | 欧美激情精品久久久久久免费 | 欧美特一级片 | 久久久久久婷 | 欧美视频四区 | 天堂网ww| 中文字幕一区二区人妻痴汉电车 | 欧美在线观看视频 | 免费av网站在线 | 在线观看国产免费av | 亚洲色婷婷一区二区三区 | 欧美日韩电影一区二区三区 | 成人免费视频网站 | 一区二区三区四区在线视频 | 男女av在线 | 97人妻精品一区二区三区 | 欧美一级二级在线观看 | 91福利网站 | 一区二区三区人妻 | 婷婷色一区二区三区 | 狠狠干精品| 久久在线免费视频 | 在线视频区 | 性无码专区无码 | 国产理论片 | 日韩黄视频 | 欧美理伦| 免费在线观看日韩av | 奇米网一区二区 | 日韩av电影手机在线观看 | 激情综合婷婷 | 一区二区视频国产 | 亚洲天堂2016 | 男女无套免费视频网站动漫 | 今天最新中文字幕mv高清 | 免费在线性爱视频 | 国产69视频在线观看 | 夜夜骑日日操 | 黄色麻豆视频 | 国模av在线 | 中国黄色录像一级片 | 手机看片福利一区 | 九七影院在线观看免费观看电视 | 国产精品久久不卡 | 国产精品色悠悠 | 在线观看免费视频 | 欧美视频在线观看视频 | 69精品久久久久久 | 亚洲av无码国产精品久久 | 97国产精东麻豆人妻电影 | 天天综合国产 | 在线观看高清av | 日本视频在线观看免费 | 日本成人动漫在线观看 | 欧美日韩中文国产一区发布 | 牛牛超碰| 俄罗斯美女av | 在线免费看黄视频 | 国产视频麻豆 | 久热国产精品视频 | 天堂а√在线中文在线鲁大师 | 人成在线视频 | 好吊视频一区二区三区 | 美女毛片在线 | 久久999 | 亚洲精美视频 | 欧美黑人又粗又大的性格特点 | 三上悠亚影音先锋 | 国产丝袜视频 | 免费看国产曰批40分钟 | 亚洲综合激情网 | 在线观看亚洲一区 | 色呦呦一区二区三区 | av免费在线观看网址 | 中文字幕第一页在线播放 |