Docker 進階

數據卷:mysql

建立:docker run -d -p 60000:8080 -v /work/mydocker/tomcat/webapps/:/usr/local/tomcat/webapps/ tomcat;web

說明: 容器中止不會影響數據共享;能夠建立有權限的數據卷,好比只讀:docker run -it -v 宿主絕對目錄:/容器絕對目錄:ro 鏡像名稱;sql

 

Dockerfile的基本知識

 

基本規則:
  • 每一條保留指令必須大寫,後邊必需要跟上至少一個參數;
  • 指令從上往下順序執行;
  • 每一條指令都會建立一個新的鏡像層,並對鏡像提交;

 

指令集:
  • FROM:FROM <IMAGE> 或者 FROM <IMAGE>:<TAG>;
  • MAINTAINER : 做者說明
  • RUN:RUN <command> 或者 RUN ["executable", "params1", "param2"]容器構建時須要執行的命令;
  • EXPOSE: EXPOSE <port> :暴露端口供外部系統使用。
  • WORKDIR:進入容器默認路徑。
  • ENV:設置環境變量
  • ADD:增長
  • COPY:複製
  • VOLUME:設置數據卷
  • CMD:運行命令
  • ENTRYPOINT
  • ONBUILD:配置當前建立的鏡像做爲其餘新建立鏡像的基礎鏡像時,所執行的操做指令。
運行docerfile:
docker build -f testfile -t liusir/centos .
 
 
 
Docker-compose 服務編排
 
基本語法:
  1. 每一個docker-compose.yml 必須定義image 或者 build中的一個,其餘的是可選的。
  2. image
  3. build
  4. ports
  5. expose
  6. volumes
  7. volumes_from
  8. envioronment
  9. depends_on
  10. links
  11. extra_hosts

服務編排DEMO:docker

version: '2'
services:
    db:
        image: mysql:5.7
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: docker
            MYSQL_DATABASE: docker
            MYSQL_USER: docker
            MYSQL_PASSWORD: docker
    wordpress:
        depends_on:
            - db
        image: wordpress:latest
        links:
            - db
        ports:
            - "8000:80"
        restart: always
        environment:
            WORDPRESS_DB_HOST: db:3306
            WORDPRESS_DB_USER: docker
            WORDPRESS_DB_PASSWORD: docker
相關文章
相關標籤/搜索