1. 程式人生 > 其它 >Dockerfile與Docker-Compose

Dockerfile與Docker-Compose

Dockerfile常用命令解析

FROM 映象名:映象版本號              //基於基準映象,不依賴設定為scratch

LABEL
//說明資訊(註釋) WORKDIR //設定工作目錄類似於cd ADD&COPY //複製檔案 ENV //設定環境常量 EXPOSE //將容器內部埠暴露給物理機
RUN //build構建時執行命令 ENTRYPOINT //容器啟動時執行命令 CMD //容器啟動後執行命令

VOLUME                  //設定掛載點,建立時會自動分配本地一個隨機路徑進行掛載,無法指定路徑

 例:

FROM TOMCAT
LABEL "依賴tomcat映象" WORKDIR
/usr/local/tomcat/webapps LABEL "進入/usr/local/tomcat/webapps檔案目錄"
ADD myweb ./myweb //
這裡的.代表當前目錄
LABEL "將myweb檔案複製到/usr/local/tomcat/webapps目錄中"
EXPOSE 8080
LABEL "對外暴露8080埠給物理機"

根據Dockerfile構建容器

docker build -t 自定義映象名:版本號 Dockerfile所在資料夾目錄
引數地址:https://www.runoob.com/docker/docker-command-manual.html

Docker Compose - 單機多容器編排工具

windows版本自帶docker compose

centos版本需要手動安裝

yml 部分引數解析

version: '3.3'                       //這裡對應compose的yml版本,版本不同,對下方的解析也不一樣
services: db:                          //自定義容器名 image: mysql:5.7               //基準映象及版本 volumes:                    //掛載目錄,db_data對應的是下方volumes裡的配置 - db_data: /var/lib/mysql restart: always                //是否自動重啟 environment:                  //環境變數配置 MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress:                      //自定義容器名 depends_on: - db                     //前後順序設定,並且連結到指定容器中,db代表上分配置的db容器 images: wordpress:latest ports:                       //對外暴露的埠地址 - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes: db_data:{}                       //掛載配置

解析執行compose檔案

docker-compose up -d                    //這裡是在執行當前目錄下yml檔案

解除安裝compose

docker-compose down --volumes       //解除安裝並移除掛載

centos 安裝docker compose

進入網址 :https://docs.docker.com/compose/install/other/

下載並安裝

curl -SL https://github.com/docker/compose/releases/download/v2.13.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

修改檔案許可權

sudo chmod +x /usr/local/bin/docker-compose

檢視docker-compose 版本號

docker-compose --version