1. 程式人生 > 實用技巧 >Finding max and min in arrays Find the second largest element in an array

Finding max and min in arrays Find the second largest element in an array

Docker指令記錄

對docker指令及踩坑記錄,不包含具體原理及過程。參照https://www.cnblogs.com/clsn/p/8410309.html#auto-id-17有詳細教程。

一、Docker基礎指令

1.映象

1.1 搜尋dockerhub官方映象

docker search nginx

1.2 拉取映象

docker pull nginx

1.3 檢視本地映象

docker images  或  docker image list

1.4 將本地映象匯出成壓縮檔案

docker image save nginx > docker-nginx.tar.gz

1.5 刪除

映象

docker image rm nginx:latest

1.6 匯入映象到本地,-i 表示指定匯入的檔案

docker image load -i docker-nginx.tar.gz

1.7 檢視映象的詳細資訊

docker image inspect nginx

2.容器

關於映象與容器的關係,我認為可以用一句話表達:容器就是映象的例項,一個映象可以建立多個容器,映象類似於快照。

2.1 啟動容器

docker run -d -p 80:80 nginx

-d為後臺執行容器;-p為埠對映,後接對映地址 ip:hostPort:containerPort

2.2 檢視正在執行

的容器

docker container ls 或 docker ps

2.3 檢視容器的詳細資訊

docker container  inspect  容器名稱/id

2.4 檢視所有的容器

docker ps -a

2.5 停止容器

docker stop 容器名稱/id  或  docker container kill 容器名稱/id

2.6 進入容器(最常用的一種)

docker exec -it 容器id /bin/bash

2.7 退出容器

exit  或快捷鍵:Ctrl+P+Q

2.8 將容器儲存為映象

docker commit 容器ID newimage:v1

3.資料卷

資料卷用來共享容器間的資料,將容器與宿主機之間實現資料共享,使任意一方相應共享地址下資料變化影響對應一方。

3.1 在建立容器時使用資料卷

docker run -d -p 80:80 -v /data/nginx:/usr/share/nginx/html nginx:latest
使用-v表示建立資料卷,宿主機地址為/data/nginx(沒有會自動建立),目標容器內的資料地址在/usr/share/nginx/html。

3.2 建立自定義容器卷

docker volume create customize-nginx-volume
使用時,在建立容器的時候將宿主機地址改為自定義的容器卷的名稱。

3.3 檢視所有容器卷

docker volume ls

3.4 檢視指定容器卷詳細資訊

docker volume inspect customize-nginx-volume
容器變化不會影響資料卷變化,宿主機內的資料卷還在,新建容器時仍可以繼續使用。

3.5 清理資料卷

docker stop edc-nginx // 暫停容器例項
docker rm edc-nginx // 移除容器例項
docker volume rm edc-nginx-vol // 刪除自定義資料卷

4.Dockerfile

編寫Dockerfile檔案可以批量執行Docker指令完成一系列Docker操作,參照https://www.cnblogs.com/panwenbin-logs/p/8007348.html。

4.1 FROM:指定基礎映象(必須為第一個指令)

FROM <映象名稱>:<映象版本(不指定為latest)>

4.2 RUN:構建映象時執行的命令

RUN <命令>

4.3 ADD:複製檔案,壓縮檔案會自動解壓,可以訪問網路資源

ADD <srcPath> <destPath>

4.4 COPY:複製檔案,不會自動解壓和訪問網路資源

COPY <srcPath> <destPath>

4.5 CMD:構建容器之後(容器啟動時),執行的命令

CMD ["可執行檔案地址","引數1","引數2"...]
或
CMD <命令> <引數1> <引數2>

4.6 ENTRYPOINT:配置容器,使其可執行化。

ENTRYPOINT與CMD非常類似,不同的是通過docker run執行的命令不會覆蓋ENTRYPOINT,而docker run命令中指定的任何引數,都會被當做引數再次傳遞給ENTRYPOINT。Dockerfile中只允許有一個ENTRYPOINT命令,多指定時會覆蓋前面的設定,而只執行最後的ENTRYPOINT指令。
ENTRYPOINT ["可執行檔案地址","引數1","引數2"...]
或
ENTRYPOINT <命令> <引數1> <引數2>

4.7 LABEL:為映象新增元資料

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

4.8 ENV:設定環境變數

ENV <key> <value>
或
ENV <key>=<value> ...

4.9 EXPOSE:指定於外界互動的埠

配合docker run時-p引數暴露埠
EXPOSE <port> [<port>...]

4.10 VOLUME:用於指定持久化目錄

VOLUME ["容器內資料卷目錄"]

4.11 WORKDIR:設定工作目錄,類似於cd命令

WORKDIR 工作目錄
其餘指令不常用,故不列舉,用到再加。