Dockerfile與Docker-Compose
阿新 • • 發佈:2022-12-04
Dockerfile常用命令解析
FROM 映象名:映象版本號 //基於基準映象,不依賴設定為scratch
LABEL //說明資訊(註釋) WORKDIR //設定工作目錄類似於cd ADD© //複製檔案 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