網(wǎng)站框架怎么做旺道seo推廣
參考:59_Dockerfile保留字簡介_嗶哩嗶哩_bilibili
FROM
作用:指定基礎(chǔ)鏡像,即在這個(gè)基礎(chǔ)鏡像上構(gòu)建新鏡像,如下所示,表示在ubuntu20.04鏡像的基礎(chǔ)上構(gòu)建新鏡像
FROM ubuntu:20.04
MAINTAINER
作用:鏡像維護(hù)者的姓名和郵箱地址
RUN
作用:構(gòu)建容器時(shí)需要執(zhí)行的命令。通常用于安裝軟件包、更新系統(tǒng)等
RUN apt-get update && \apt-get install -y \package1 \package2 \package3 \&& rm -rf /var/lib/apt/lists/*
EXPOSE
指定當(dāng)前容器對(duì)外暴露的端口
WORKDIR
作用:指定容器創(chuàng)建后,進(jìn)入容器時(shí)的默認(rèn)工作目錄
USER
作用:指定鏡像以什么樣的用戶去執(zhí)行,如果都不指定,默認(rèn)是root
ENV
作用:設(shè)置環(huán)境變量,如下所示,為系統(tǒng)環(huán)境變量PATH添加新值
ENV PATH /opt/conda/envs/vln/bin:$PATH
ADD
作用:將宿主機(jī)目錄下的文件拷貝進(jìn)鏡像,且會(huì)自動(dòng)處理URL和解壓tar壓縮包,如下所示,該命令表示從cmake網(wǎng)站上下載對(duì)應(yīng)的sh文件,并將其放入容器的根目錄下
ADD https://cmake.org/files/v3.12/cmake-3.12.2-Linux-x86_64.sh /cmake-3.12.2-Linux-x86_64.sh
又或者這段代碼,表示將宿主機(jī)上的run.tar文件拷貝進(jìn)鏡像中并自動(dòng)進(jìn)行解壓
ADD run.tar
COPY
作用:只有拷貝作用,將宿主機(jī)中的文件拷貝進(jìn)鏡像中,如下,表示將宿主機(jī)下的~/.ssh/config文件拷貝進(jìn)config文件夾中
COPY ~/.ssh/config config
CMD
作用:指定容器啟動(dòng)后要執(zhí)行的命令,如下,表示容器啟動(dòng)后執(zhí)行catalina.sh
CMD ["catalina.sh"]
注,假如有多個(gè)CMD命令,則后邊的CMD命令會(huì)覆蓋掉前者的命令,并且docker run之后的參數(shù)會(huì)替換掉最后一個(gè)CMD指令?
ENTRYPOINT
作用:指定容器啟動(dòng)后運(yùn)行的命令,但ENTRYPOINT 指定的命令不會(huì)被修改
一般情況下,我們使用ENTRYPOINT 傳定參,CMD命令傳變參
使用格式
ENTRYPOINT ["executable","parm1","parm2",...]
假如我們通過以下鏡像構(gòu)建了一個(gè)nginx:test鏡像
FROM nginx
ENTRYPOINT ["nginx","-c"]
CMD ["/etc/nginx/nginx.conf"]
是否傳參 | 按照dockerfile編寫執(zhí)行 | 傳參運(yùn)行 |
Docker命令 | docker run nginx:test | docker run nginx:test?-c?/etc/nginx/new.conf |
對(duì)應(yīng)實(shí)際命令 | nginx -c?/etc/nginx/nginx.conf | ?nginx -c?/etc/nginx/new.conf |