常見命令
Docker最常見的命令就是操作鏡像、容器的命令,詳見官方文檔:https://docs.docker.com/
數據卷
命令 | 說明 | 文檔地址 |
---|---|---|
docker volume create | 創建數據卷 | docker volume create |
docker volume ls | 創建數據卷 | docker volume ls |
docker volume rm | 查看所有數據卷 | docker volume rm |
docker volume inspect | 查看某個數據卷的詳情 | docker volume inspect |
docker volume prune | 清除數據卷 | docker volume prune |
- 在執行docker run命令時,使用 -v 本地目錄:容器內目錄 可以完成本地目錄掛載。
- 本地目錄必須以’/‘或’./'開頭,如果直接以名稱開頭,會被識別為數據卷而非本地目錄。
- -v mysql:/var/lib/mysql 會被識別為一個數據卷叫做mysql。
- -v ./mysql: /var/lib/mysql 會被識別為當前目錄下的mysql目錄。
自定義鏡像
Dockerfile就是一個文本文件,其中包含一個個的指令(Instruction),用指令來說明要執行什么操作來構建鏡像。將來Docker可以根據Dockerfile幫我們構建鏡像。常見指令如下:
指令 | 說明 | 示例 |
---|---|---|
FROM | 指定基礎鏡像 | FROM centos:6 |
ENV | 設置環境變量,可在后面指令使用 | ENV key value |
COPY | 拷貝本地文件到鏡像的指定目錄 | COPY ./jre1l.tar.gz /tmp |
RUN | 執行Linux的shell命令,一般是安裝過程的命令 | RUN tar -zxvf /tmp/ire1l.tar.gz&& EXPORTS path=/tmp/jre1l:$path |
EXPOSE | 指定容器運行時監聽的端口,是給鏡像使用者看的 | EXPOSE 8080 |
ENTRYPOINT | 鏡像中應用的啟動命令,容器運行時調用 | ENTRYPOINT java -jar xx.jar |
更加詳細的語法說明,請參考官方文檔:https://docs.docker.com/engine/reference/builder
docker build -t myImage:1.0 .
- -t 是給鏡像起名,格式依然是repository:tag 的格式,不指定tag時,默認是latest
- .:是指定Dockerfile所在目錄,如果就在當前目錄,則指定為 “.”。
網絡
默認情況下,所有容器都是以bridge當時連接到docker的一個虛擬網橋上。
加入自定義網絡的容器才可以通過容器名互相訪問,Docker的網絡操作命令如下:
命令 | 說明 | 文檔地址 |
---|---|---|
docker network create | 創建一個網絡 | docker network create |
docker network ls | 查看所有網絡 | docker network ls |
docker network rm | 刪除指定網絡 | docker network rm |
docker network prune | 清除未使用的網絡 | docker network prune |
docker network connect | 使指定容器連接加入某網絡 | docker network connect |
docker network disconnect | 使指定容器連接離開某網絡 | docker network disconnect |
docker network inspect | 查看網絡詳細信息 | docker network inspect |