docker面試1-8
阿新 • • 發佈:2022-04-12
目錄
- 1. docker有哪些網路?
- 2. dockerfile關鍵字有哪些?
- 3. 構建dockerfile,並打標籤
- 4. 推送映象到映象倉庫
- 5. 如何建立並啟動Docker容器?
- 6. 如何反向打包製作Docker映象?
- 7. docker常用命令
- 8.描述 Docker 容器的生命週期
1. docker有哪些網路?
Docker網路模式 | 配置 | 說明 |
---|---|---|
host模式 | –net=host | 容器和宿主機共享Network namespace。 |
container模式 | –net=container:NAME_or_ID | 容器和另外一個容器共享Network namespace。 kubernetes中的pod就是多個容器共享一個Network namespace。 |
none模式 | –net=none | 容器有獨立的Network namespace,但並沒有對其進行任何網路設定,如分配veth pair 和網橋連線,配置IP等。 |
bridge模式 | –net=bridge | (預設為該模式) |
網路詳細介紹:https://www.cnblogs.com/guyouyin123/p/15593529.html
2. dockerfile關鍵字有哪些?
FROM # 基於什麼映象 WORKDIR # 指定工作路徑,沒有就建立目錄 ------ COPY src/ /app # 拷貝,檔案地址 將宿主機src目錄下所有拷貝到app目錄下 ADD # 拷貝,也可以是檔案地址,也可以是url網路資源 ------ RUN # 執行shell語句 ------ ENTRYPOINT 1.執行容器時,執行的指令碼.可以是json資料指定,也可以是shell語句指定 2.只能有一個ENTRYPOINT指令,如果有多個ENTRYPOINT指令則以最後一個為準 3.ENTRYPOINT指令或CMD指令,至少必有其一。 CMD 1.執行容器時,執行的指令碼.可以是json資料指定,也可以是shell語句指定 2.只能有一個CMD指令,如果有多個CMD指令則以最後一個為準。 3.ENTRYPOINT指令或CMD指令,至少必有其一。 ------ EXPOSE # 指定當前映象暴露出來的埠 VOLUME # 指定對映檔案 ------ ENV # 引數,系統的,從構建到執行都有效。eg:指定環境變數,ENV A=10或者A 10;兩者一樣 ARG # 引數,構建映象的時候才有效,執行容器時無效 ------ LABEL # 指定元資料(標識),eg: k="v" k1="v1" 沒有實質性的作用 ONBUILD # 被其他映象繼承(FROM)時才會執行。 eg: ONBUILD ENV A=10 ------ STOPSIGNAL # 指定當前容器用什麼訊號停止,指定訊號名SIGIN、SIGKILL HEALTHCHECK # 檢查容器健康狀態的配置 SHELL # 指定當前shell是哪一種shell,linux一般是/bin/sh,winodws是cmd,可以改成/bin/bash ------ USER # 指定run cmd等指令執行時的使用者身份,不指定預設為root # USER用法:USER 使用者名稱:使用者組 或 USER 使用者id:組id
3. 構建dockerfile,並打標籤
docker build . //構建映象
docker build -t bikesvc:latest . //構建映象並打標籤
docker tag 69b968e77592 docker.xxx.cn/jeff_test:latest //打標籤
4. 推送映象到映象倉庫
docker push docker.xxx.cn/jeff_test:latest
5. 如何建立並啟動Docker容器?
docker run -it -d <image_name> docker run -itd -p6379:6379 redis:4.0.9 //redis
6. 如何反向打包製作Docker映象?
docker save 5962dbc864ad > 3.tar
7. docker常用命令
docker run //建立容器
docker save //儲存映象
docker images //檢視映象
docker ps -a // 檢視所有容器
docker ps // 檢視啟動的容器
docker stop //停止容器
docker start //啟動容器
docker rm //刪除容器
docker exec -it 685e1 bash //進入容器
8.描述 Docker 容器的生命週期
建立容器
執行容器
暫停容器(可選)
取消暫停容器(可選)
啟動容器
停止容器
重啟容器
殺死容器
銷燬容器