數據卷: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 服務編排
基本語法:
- 每一個docker-compose.yml 必須定義image 或者 build中的一個,其餘的是可選的。
- image
- build
- ports
- expose
- volumes
- volumes_from
- envioronment
- depends_on
- links
- 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