最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker?鏡像構(gòu)建保姆級入門示例教程

 更新時(shí)間:2022年09月06日 11:32:35   作者:馬哥Linux運(yùn)維  
Dockerfile?是一個用來構(gòu)建鏡像的文本文件,文本內(nèi)容包含了一條條構(gòu)建鏡像所需的指令和說明,這篇文章主要介紹了Docker?鏡像構(gòu)建保姆級入門實(shí)戰(zhàn)指南,需要的朋友可以參考下

一、概述

  • Dockerfile 是一個用來構(gòu)建鏡像的文本文件,文本內(nèi)容包含了一條條構(gòu)建鏡像所需的指令和說明。

官方文檔:

Dockerfile 示例:

二、Dockerfile 結(jié)構(gòu)

Dockerfile 結(jié)構(gòu)主要分為四部分:

  • 基礎(chǔ)鏡像信息
  • 維護(hù)者信息
  • 鏡像操作指令
  • 容器啟動時(shí)執(zhí)行指令 (CMD/ENTRYPOINT)
  • 【溫馨提示】Dockerfile 每行支持一條指令,每條指令可攜帶多個參數(shù)(支持&&),支持使用以“#“號開頭的注釋(jason 文件不支持#注釋),但是也非必須滿足上面的四點(diǎn)。

三、常用 Dockerfile 操作指令

  • ARG—— 定義創(chuàng)建鏡像過程中使用的變量 ,唯一一個可以在 FROM 之前定義 。
  • FROM——基于某個鏡像, FROM前面只能有一個或多個ARG指令 。
  • MAINTAINER(已棄用) —— 鏡像維護(hù)者姓名或郵箱地址 。
  • VOLUME —— 指定容器掛載點(diǎn)到宿主機(jī)自動生成的目錄或其他容器
  • RUN——執(zhí)行鏡像里的命令,跟在 liunx 執(zhí)行命令一樣,只需要在前面加上 RUN 關(guān)鍵詞就行。
  • COPY——復(fù)制本地(宿主機(jī))上的文件到鏡像。
  • ADD——復(fù)制并解壓(宿主機(jī))上的壓縮文件到鏡像。
  • ENV——設(shè)置環(huán)境變量。
  • WORKDIR —— 為 RUN、CMD、ENTRYPOINT、COPY 和 ADD 設(shè)置工作目錄,就是切換目錄 。
  • USER —— 為 RUN、CMD、和 ENTRYPOINT 執(zhí)行命令指定運(yùn)行用戶。
  • EXPOSE —— 聲明容器的服務(wù)端口(僅僅是聲明) 。
  • CMD—— 容器啟動后執(zhí)行的命令 ,多個 CMD 只會執(zhí)行最后一個,跟 ENTRYPOINT 的區(qū)別是,CMD 可以作為 ENTRYPOINT 的參數(shù),且會被 yaml 文件里的 command 覆蓋。
  • ENTRYPOINT—— 容器啟動后執(zhí)行的命令 ,多個只會執(zhí)行最后一個。
  • HEALTHCHECH —— 健康檢查 。
  • ONBUILD——它后面跟的是其它指令,比如 RUN, COPY 等,而這些指令,在當(dāng)前鏡像構(gòu)建時(shí)并不會被執(zhí)行。只有當(dāng)以當(dāng)前鏡像為基礎(chǔ)鏡像,去構(gòu)建下一級鏡像的時(shí)候才會被執(zhí)行。
  • LABEL——LABEL 指令用來給鏡像添加一些元數(shù)據(jù)(metadata),以鍵值對的形式 ,替換 MAINTAINER。

1)鏡像構(gòu)建(docker build)

docker build -t text:v1 . --no-cache
# 要在構(gòu)建后將映像標(biāo)記到多個存儲庫中,請?jiān)谶\(yùn)行命令-t時(shí)添加多個參數(shù)
docker build -t shykes/myapp:1.0.2 -t shykes/myapp:latest .
### 參數(shù)解釋
# -t:指定鏡像名稱
# . :當(dāng)前目錄Dockerfile
# -f:指定Dockerfile路徑
#  --no-cache:不緩存

2)運(yùn)行容器測試(docker run)

# 非交互式運(yùn)行
docker run centos:7.4.1708 /bin/echo "Hello world"
### 交互式執(zhí)行
# -t: 在新容器內(nèi)指定一個偽終端或終端。
#-i: 允許你對容器內(nèi)的標(biāo)準(zhǔn)輸入 (STDIN) 進(jìn)行交互。
# 會登錄到docker環(huán)境中,交互式
docker run -it centos:7.4.1708 /bin/bash
# -d:后臺執(zhí)行,加了 -d 參數(shù)默認(rèn)不會進(jìn)入容器
docker run -itd centos:7.4.1708 /bin/bash
### 進(jìn)入容器
# 在使用 -d 參數(shù)時(shí),容器啟動后會進(jìn)入后臺。此時(shí)想要進(jìn)入容器,可以通過以下指令進(jìn)入:
#docker exec -it :推薦大家使用 docker exec -it 命令,因?yàn)榇嗣顣顺鋈萜鹘K端,但不會導(dǎo)致容器的停止。
#docker attach:容器退出,會導(dǎo)致容器的停止。
docker exec -it  b2c0235dc53 /bin/bash
docker attach  b2c0235dc53

3)ARG

  • 構(gòu)建參數(shù),與 ENV 作用一致。不過作用域不一樣。ARG 設(shè)置的環(huán)境變量僅對 Dockerfile 內(nèi)有效,也就是說只有 docker build 的過程中有效,構(gòu)建好的鏡像內(nèi)不存在此環(huán)境變量。唯一一個可以在 FROM 之前定義 。構(gòu)建命令 docker build 中可以用 --build-arg <參數(shù)名>=<值> 來覆蓋。

語法格式:

ARG <參數(shù)名>[=<默認(rèn)值>]

示例:

# 在FROM之前定義ARG,只在 FROM 中生效
ARG VERSION=laster
FROM centos:${VERSION}
# 在FROM之后使用,得重新定義,不需要賦值
ARG VERSION
RUN echo $VERSION >/tmp/image_version

4)FROM

  • 定制的鏡像都是基于 FROM 的鏡像 ,【必選項(xiàng)】

語法格式:

FROM [--platform=&lt;platform&gt;] &lt;image&gt; [AS &lt;name&gt;]
FROM [--platform=&lt;platform&gt;] &lt;image&gt;[:&lt;tag&gt;] [AS &lt;name&gt;]
FROM [--platform=&lt;platform&gt;] &lt;image&gt;[@&lt;digest&gt;] [AS &lt;name&gt;]
  • 如果引用多平臺圖像,可選--platform標(biāo)志可用于指定圖像的平臺。FROM例如,linux/amd64、 linux/arm64或windows/amd64。默認(rèn)情況下,使用構(gòu)建請求的目標(biāo)平臺。全局構(gòu)建參數(shù)可用于此標(biāo)志的值,例如允許您將階段強(qiáng)制為原生構(gòu)建平臺 ( --platform=$BUILDPLATFORM),并使用它交叉編譯到階段內(nèi)的目標(biāo)平臺。

示例:

ARG VERSION=latest
FROM busybox:$VERSION
# FROM --platform="linux/amd64" busybox:$VERSION
ARG VERSION
RUN echo $VERSION > image_version

5)MAINTAINER(已棄用)

  • 鏡像維護(hù)者信息

語法格式:

MAINTAINER <name>

示例:

LABEL org.opencontainers.image.authors="SvenDowideit@home.org.au"

6)VOLUME

  • 定義匿名數(shù)據(jù)卷。在啟動容器時(shí)忘記掛載數(shù)據(jù)卷,會自動掛載到匿名卷。

作用:

  • 避免重要的數(shù)據(jù),因容器重啟而丟失,這是非常致命的。
  • 避免容器不斷變大。
  • 在啟動容器 docker run 的時(shí)候,我們可以通過 -v 參數(shù)修改掛載點(diǎn)。

語法格式:

# 后面路徑是容器內(nèi)的路徑,對應(yīng)宿主機(jī)的目錄是隨機(jī)的
VOLUME ["<路徑1>", "<路徑2>"...]
VOLUME <路徑>

示例:

FROM ubuntu
RUN mkdir /myvol
RUN echo "hello world" > /myvol/greeting
VOLUME /myvol

7)RUN

  • 用于執(zhí)行后面跟著的命令行命令。

語法格式:

  • RUN (shell形式,命令在 shell 中運(yùn)行,默認(rèn)/bin/sh -c在 Linux 或cmd /S /CWindows 上)
  • RUN ["executable", "param1", "param2"](執(zhí)行形式)

示例:

# 以下三種寫法等價(jià)
RUN /bin/bash -c 'source $HOME/.bashrc; \
echo $HOME'
RUN /bin/bash -c 'source $HOME/.bashrc; echo $HOME'
RUN ["/bin/bash", "-c", "source $HOME/.bashrc; echo $HOME"]

8)COPY

  • 拷貝(宿主機(jī))文件或目錄到容器中,跟 ADD 類似,但不具備自動下載或解壓的功能 。所有新文件和目錄都使用 0 的 UID 和 GID 創(chuàng)建,除非可選--chown標(biāo)志指定給定的用戶名、組名或 UID/GID 組合以請求復(fù)制內(nèi)容的特定所有權(quán)。

語法格式:

COPY [--chown=<user>:<group>] <src>... <dest>
COPY [--chown=<user>:<group>] ["<src>",... "<dest>"]

示例:

# 添加所有以“hom”開頭的文件:
COPY hom* /mydir/
# ?替換為任何單個字符,例如“home.txt”。
COPY hom?.txt /mydir/
# 使用相對路徑,并將“test.txt”添加到<WORKDIR>/relativeDir/:
COPY test.txt relativeDir/
# 使用絕對路徑,并將“test.txt”添加到/absoluteDir/
COPY test.txt /absoluteDir/
# 修改文件權(quán)限
COPY --chown=55:mygroup files* /somedir/
COPY --chown=bin files* /somedir/
COPY --chown=1 files* /somedir/
COPY --chown=10:11 files* /somedir/

9)ADD

  • 拷貝文件或目錄到容器中,如果是 URL 或壓縮包便會自動下載或自動解壓 。

ADD 指令和 COPY 的使用格類似(同樣需求下,官方推薦使用 COPY)。功能也類似,不同之處如下:

  • ADD 的優(yōu)點(diǎn):在執(zhí)行 <源文件> 為 tar 壓縮文件的話,壓縮格式為 gzip, bzip2 以及 xz 的情況下,會自動復(fù)制并解壓到 <目標(biāo)路徑>。
  • ADD 的缺點(diǎn):在不解壓的前提下,無法復(fù)制 tar 壓縮文件。會令鏡像構(gòu)建緩存失效,從而可能會令鏡像構(gòu)建變得比較緩慢。具體是否使用,可以根據(jù)是否需要自動解壓來決定。

語法格式:

ADD [--chown=<user>:<group>] <src>... <dest>
ADD [--chown=<user>:<group>] ["<src>",... "<dest>"]

示例:

# 通配符
ADD hom* /mydir/
# 相對路徑,拷貝到WORKDIR目錄下relativeDir/
ADD test.txt relativeDir/
# 絕對路徑
ADD test.txt /absoluteDir/
# 更改權(quán)限
ADD --chown=55:mygroup files* /somedir/
ADD --chown=bin files* /somedir/
ADD --chown=1 files* /somedir/
ADD --chown=10:11 files* /somedir/

ADD 和 COPY 的區(qū)別和使用場景:

  • ADD 支持添加遠(yuǎn)程 url 和自動提取壓縮格式的文件,COPY 只允許從本機(jī)中復(fù)制文件
  • COPY 支持從其他構(gòu)建階段中復(fù)制源文件(--from)
  • 根據(jù)官方 Dockerfile 最佳實(shí)踐,除非真的需要從遠(yuǎn)程 url 添加文件或自動提取壓縮文件才用 ADD,其他情況一律使用 COPY

10)ENV

  • 設(shè)置環(huán)境變量,定義了環(huán)境變量,那么在后續(xù)的指令中,就可以使用這個環(huán)境變量。

語法格式:

ENV <key1>=<value1> <key2>=<value2>...
# 省略"="此語法不允許在單個ENV指令中設(shè)置多個環(huán)境變量,并且可能會造成混淆。
ENV <key> <value>

示例:

ENV JAVA_HOME=/usr/local/jdk
ENV MY_NAME="John Doe" MY_DOG=Rex\ The\ Dog \
   MY_CAT=fluffy
# 此語法不允許在單個ENV指令中設(shè)置多個環(huán)境變量,并且可能會造成混淆。
ENV JAVA_HOME /usr/local/jdk

11)WORKDIR

  • 指定工作目錄。用 WORKDIR 指定的工作目錄,會在構(gòu)建鏡像的每一層中都存在。(WORKDIR 指定的工作目錄,必須是提前創(chuàng)建好的)。

語法格式:

WORKDIR <工作目錄路徑>

示例:

FROM busybox
ENV FOO=/bar
WORKDIR ${FOO}   # WORKDIR /bar

12)USER

  • 用于指定執(zhí)行后續(xù)命令的用戶和用戶組,這邊只是切換后續(xù)命令執(zhí)行的用戶(用戶和用戶組必須提前已經(jīng)存在)。

語法格式:

USER <用戶名>[:<用戶組>]
USER <UID>[:<GID>]

示例:

FROM busybox
RUN groupadd --system --gid=9999 admin && useradd --system --home-dir /home/admin --uid=9999 --gid=admin admin
USER admin:admin
# USER 9999:9999

13)EXPOSE

  • 暴露端口 ,僅僅只是聲明端口。

作用:

  • 幫助鏡像使用者理解這個鏡像服務(wù)的守護(hù)端口,以方便配置映射。
  • 在運(yùn)行時(shí)使用隨機(jī)端口映射時(shí),也就是 docker run -P 時(shí),會自動隨機(jī)映射 EXPOSE 的端口。

語法格式:

# 默認(rèn)情況下,EXPOSE假定 TCP。
EXPOSE <port> [<port>/<protocol>...]

示例:

EXPOSE 80/TCP 443/TCP
EXPOSE 80 443
EXPOSE 80/tcp
EXPOSE 80/udp

14)CMD

  • 類似于 RUN 指令,用于運(yùn)行程序,但二者運(yùn)行的時(shí)間點(diǎn)不同:CMD 在構(gòu)建鏡像時(shí)不會執(zhí)行,在容器運(yùn)行 時(shí)運(yùn)行。

語法格式:

CMD <shell 命令>
CMD ["<可執(zhí)行文件或命令>","<param1>","<param2>",...]
CMD ["<param1>","<param2>",...]  # 該寫法是為 ENTRYPOINT 指令指定的程序提供默認(rèn)參數(shù)
  • 推薦使用第二種格式,執(zhí)行過程比較明確。第一種格式實(shí)際上在運(yùn)行的過程中也會自動轉(zhuǎn)換成第二種格式運(yùn)行,并且默認(rèn)可執(zhí)行文件是 sh。

示例:

CMD cat /etc/profile
CMD ["/bin/sh","-c","/etc/profile"]
  • 注意:如果 Dockerfile 中如果存在多個 CMD 指令,僅最后一個生效。

15)ENTRYPOINT

  • 類似于 CMD 指令,但其不會被 docker run 的命令行參數(shù)指定的指令所覆蓋,而且這些命令行參數(shù)會被當(dāng)作參數(shù)送給 ENTRYPOINT 指令指定的程序。但是, 如果運(yùn)行 docker run 時(shí)使用了 --entrypoint 選項(xiàng),將覆蓋 ENTRYPOINT 指令指定的程序。在 k8s 中 command 也會覆蓋 ENTRYPOINT 指令指定的程序

語法格式:

# exec形式,這是首選形式:
ENTRYPOINT ["executable", "param1", "param2"]
# 外殼形式:
ENTRYPOINT command param1 param2

示例:

FROM ubuntu
ENTRYPOINT ["top", "-b"]
# CMD作為ENTRYPOINT參數(shù)
CMD ["-c"]
# 與下面的等價(jià)
ENTRYPOINT ["top", "-b -c"]
ENTRYPOINT  top -b -c
  • 注意:如果 Dockerfile 中如果存在多個 ENTRYPOINT 指令,僅最后一個生效。

16)HEALTHCHECK

  • 用于指定某個程序或者指令來監(jiān)控 docker 容器服務(wù)的運(yùn)行狀態(tài)。

語法格式:

HEALTHCHECK [OPTIONS] CMD command(通過在容器內(nèi)運(yùn)行命令檢查容器運(yùn)行狀況)
HEALTHCHECK NONE(禁用從基礎(chǔ)映像繼承的任何運(yùn)行狀況檢查)

選項(xiàng)CMD有:

  • --interval=DURATION(默認(rèn)30s:):間隔,頻率
  • --timeout=DURATION(默認(rèn)30s:):超時(shí)時(shí)間
  • --start-period=DURATION(默認(rèn)0s:):為需要時(shí)間引導(dǎo)的容器提供初始化時(shí)間, 在此期間探測失敗將不計(jì)入最大重試次數(shù)。
  • --retries=N(默認(rèn)3:):重試次數(shù)

命令的exit status指示容器的運(yùn)行狀況??赡艿闹禐椋?/p>

  • 0:健康狀態(tài),容器健康且已準(zhǔn)備完成。
  • 1:不健康狀態(tài),容器工作不正常。
  • 2:保留,不要使用此退出代碼。

示例:

FROM nginx
MAINTAINER Securitit
HEALTHCHECK --interval=5s --timeout=3s \
 CMD curl -f http://localhost/ || exit 1
CMD ["usr/sbin/nginx", "-g", "daemon off;"]

17)ONBUILD

  • ONBUILD 是一個特殊的指令,它后面跟的是其它指令,比如 RUN, COPY 等,而這些指令,在當(dāng)前鏡像構(gòu)建時(shí)并不會被執(zhí)行。只有當(dāng)以當(dāng)前鏡像為基礎(chǔ)鏡像,去構(gòu)建下一級鏡像的時(shí)候才會被執(zhí)行。

語法格式:

ONBUILD <其它指令>

示例:

FROM node:slim
RUN mkdir /app
WORKDIR /app
ONBUILD COPY ./package.json /app
ONBUILD RUN [ "npm", "install" ]
ONBUILD COPY . /app/
CMD [ "npm", "start" ]

18)LABEL

  • LABEL 指令用來給鏡像添加一些元數(shù)據(jù)(metadata),以鍵值對的形式。用來替代 MAINTAINER。

語法格式:

LABEL <key>=<value> <key>=<value> <key>=<value> ...

示例:比如我們可以添加鏡像的作者

LABEL org.opencontainers.image.authors="runoob"

四、ARG 和 ENV 的區(qū)別

  • ARG 定義的變量只會存在于鏡像構(gòu)建過程,啟動容器后并不保留這些變量
  • ENV 定義的變量在啟動容器后仍然保留

五、CMD,ENTRYPOINT,command,args 場景測試

當(dāng)用戶同時(shí)在 kubernetes 中的 yaml 文件中寫了command和args的時(shí)候,默認(rèn)是會覆蓋DockerFile中的命令行和參數(shù),完整的情況分類如下:

1)command 和 args 不存在場景測試

  • 如果 command 和 args 都沒有寫,那么用DockerFile默認(rèn)的配置。
Dockerfile
FROM centos
COPY test.sh /
RUN chmod +x /test.sh
### ENTRYPOINT將作為的子命令啟動/bin/sh -c,它不會傳遞參數(shù),要傳遞參數(shù)只能這樣傳參
# ENTRYPOINT ["/bin/sh","-c","/test.sh ENTRYPOINT"]
ENTRYPOINT ["/test.sh","ENTRYPOINT"]
CMD ["CMD"]

/tmp/test.sh

#!/bin/bash
echo $*

構(gòu)建

docker build -t test1:v1 -f Dockerfile .

yaml 編排

cat << EOF > test1.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
 name: test
spec:
 replicas: 1
 selector:
   matchLabels:
     app: test
 template:
   metadata:
     labels:
       app: test
   spec:
     nodeName: local-168-182-110
     containers:
     - name: test
       image: test:v1
       #command: ['/bin/sh','-c','/test.sh']
       #args: ['args']
EOF

執(zhí)行

kubectl apply -f test.yaml

2)command 存在,但 args 存在場景測試

  • 如果 command 寫了,但 args 沒有寫,那么 Docker 默認(rèn)的配置會被忽略而且僅僅執(zhí)行.yaml文件的 command(不帶任何參數(shù)的)。
cat << EOF > test2.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
 name: test2
spec:
 replicas: 1
 selector:
   matchLabels:
     app: test2
 template:
   metadata:
     labels:
       app: test2
   spec:
     nodeName: local-168-182-110
     containers:
     - name: test2
       image: test:v1
       # ['/bin/sh','-c','/test.sh command','hello'],加了'/bin/sh','-c',也是不能外部傳參,不會輸出hello,只能通過這樣傳參,['/bin/sh','-c','/test.sh command'];CMD里面的參數(shù)會被忽略
       command: ['/test.sh']
       # command帶參數(shù)
       # command: ['/test.sh','command']
       #args: ['args']
EOF

3)command 不存在,但 args 存在場景測試

  • 如果 command 沒寫,但 args 寫了,那么 Docker 默認(rèn)配置的 ENTRYPOINT 的命令行會被執(zhí)行,但是調(diào)用的參數(shù)是.yaml中的 args,CMD 的參數(shù)會被覆蓋,但是 ENTRYPOINT 自帶的參數(shù)還是會執(zhí)行的。
cat << EOF > test3.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
 name: test3
spec:
 replicas: 1
 selector:
   matchLabels:
     app: test3
 template:
   metadata:
     labels:
       app: test3
   spec:
     nodeName: local-168-182-110
     containers:
     - name: test3
       image: test:v1
       # ['/bin/sh','-c','/test.sh command','hello'],加了'/bin/sh','-c',也是不能外部傳參,不會輸出hello,只能通過這樣傳參,['/bin/sh','-c','/test.sh command'];CMD里面的參數(shù)會被忽略
       # command: ['/test.sh']
       # command帶參數(shù)
       # command: ['/test.sh','command']
       args: ['args']
EOF

4)command 和 args 都存在場景測試

  • 如果如果 command 和 args 都寫了,那么 Docker 默認(rèn)的配置被忽略,使用.yaml的配置。
cat << EOF > test4.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
 name: test4
spec:
 replicas: 1
 selector:
   matchLabels:
     app: test4
 template:
   metadata:
     labels:
       app: test4
   spec:
     nodeName: local-168-182-110
     containers:
     - name: test4
       image: test:v1
       # ['/bin/sh','-c','/test.sh command','hello'],加了'/bin/sh','-c',也是不能外部傳參,不會輸出hello,只能通過這樣傳參,['/bin/sh','-c','/test.sh command'];CMD里面的參數(shù)會被忽略
       # command: ['/test.sh']
       # command帶參數(shù),command和args都會帶上
       command: ['/test.sh','command']
       args: ['args']
EOF

鏡像構(gòu)建 Dockerfile 的介紹就到這里了!

到此這篇關(guān)于Docker 鏡像構(gòu)建保姆級入門實(shí)戰(zhàn)指南的文章就介紹到這了,更多相關(guān)Docker 鏡像構(gòu)建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker鏡像pull失敗兩種解決辦法小結(jié)

    Docker鏡像pull失敗兩種解決辦法小結(jié)

    有時(shí)候我們在拉取Docker鏡像的過程中會遇到一些問題,這篇文章主要介紹了Docker鏡像pull失敗兩種解決辦法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • Docker下載加速的兩種方式

    Docker下載加速的兩種方式

    本文介紹了使用網(wǎng)易數(shù)帆和阿里云容器鏡像倉庫進(jìn)行Docker下載加速的兩種方式,第一種是通過網(wǎng)易數(shù)帆官網(wǎng)下載鏡像,第二種是配置阿里云加速器地址到Docker中,這些方法可以幫助用戶更快速地下載Docker鏡像,提升工作效率
    2024-09-09
  • docker安裝ros2詳細(xì)步驟介紹

    docker安裝ros2詳細(xì)步驟介紹

    大家好,本篇文章主要講的是docker安裝ros2詳細(xì)步驟介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Docker查看鏡像的Dockerfile(docker history和docker inspect命令)

    Docker查看鏡像的Dockerfile(docker history和docker inspec

    這篇文章主要給大家介紹了關(guān)于Docker查看鏡像的Dockerfile的相關(guān)資料,文中主要運(yùn)用的是docker history和docker inspect命令,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • docker如何動態(tài)查看日志最后100行

    docker如何動態(tài)查看日志最后100行

    這篇文章主要介紹了docker如何動態(tài)查看日志最后100行問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教<BR>
    2024-01-01
  • Docker命令行輸出格式化完全指南

    Docker命令行輸出格式化完全指南

    在Docker中大多數(shù)的輸出命令都支持--format 選項(xiàng),用于控制輸出,下面這篇文章主要給大家介紹了關(guān)于Docker命令行輸出格式化的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • Docker Swarm集群管理的使用及原理解析

    Docker Swarm集群管理的使用及原理解析

    這篇文章主要介紹了Docker Swarm集群管理的使用及原理解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • docker中的run/cmd/entrypoint的區(qū)別詳解

    docker中的run/cmd/entrypoint的區(qū)別詳解

    Dockerfile中run、cmd和entrypoint都能夠用于執(zhí)行命令,針對每個命令給他介紹詳細(xì)用途,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-08-08
  • 如何解決docker認(rèn)證問題failed to authorize:failed to fetch oauth token

    如何解決docker認(rèn)證問題failed to authorize:failed to&n

    這篇文章主要介紹了在使用Docker構(gòu)建鏡像時(shí)遇到的認(rèn)證問題,并提供了兩種解決方案:全局代理設(shè)置和禁用BuildKit,文章還指出了一個Dockerfile中的語法錯誤,并提供了修正建議
    2025-03-03
  • Docker與docker-compose中volume參數(shù)的使用方式

    Docker與docker-compose中volume參數(shù)的使用方式

    文章介紹了Docker中的數(shù)據(jù)卷Volume的概念及其在宿主機(jī)和容器之間的數(shù)據(jù)共享和持久化,它詳細(xì)說明了兩種數(shù)據(jù)掛載方式:通過宿主機(jī)絕對路徑掛載和通過卷標(biāo)映射掛載,包括匿名掛載和具名掛載,同時(shí),文章還展示了如何通過docker命令查看數(shù)據(jù)卷的宿主機(jī)目錄
    2024-11-11

最新評論

武乡县| 连江县| 耿马| 苗栗县| 南江县| 罗江县| 大宁县| 晋城| 东平县| 惠安县| 永年县| 积石山| 莲花县| 大同县| 大厂| 林西县| 兰州市| 慈利县| 内丘县| 合川市| 黎城县| 桦甸市| 玛多县| 洪雅县| 紫云| 阿图什市| 蓝山县| 栾川县| 邵阳县| 曲靖市| 阜宁县| 井冈山市| 宁强县| 托克逊县| 汉沽区| 永仁县| 黄大仙区| 荔浦县| 郓城县| 依安县| 永嘉县|