数据卷: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