镜像、容器、仓库
如果保存当前容器的状态通过commit提交来获得一个新的镜像
- docker run -d 代表的是后端运行
- docker run -it -v 主机地址:容器内地址 -p 主机端口:容器内端口
- docker -e代表要配置环境 -p代表端口映射 -v代表数据卷挂载
- docker inspect 查看容器的分层结构
具名挂载和匿名挂载
所有的docker容器内的卷,没有指定目录的情况下都是在
/var/lib/docker/volumes/xxx/_data
我们通过具名挂载可以方便的找到我们的一个卷,大多数情况下使用具名挂载
- -v 容器内路径 匿名挂载
- -v卷名:容器内路径 具名挂载
- -v /宿主机路径:/容器内路径 指定路径挂载
数据卷容器同步数据
多个MySQL同步数据
再创建一个新的容器,把新的容器通过–volumes-from进行绑定,然后实现数据同步
DockerFile
dockerfile 是用来构建成为一个新的镜像的文件,命令参数脚本
构建步骤:
- 编写一个dockerfile文件
- docker build 构建成为一个镜像
- docker run 运行镜像
- docker push 发布镜像(DockerHub、阿里云镜像)
基础知识
1. 关键字必须大写
2. 执行顺序是从上到下
3. # 表示注释
4. 每个指令都会创建提交一个新的镜像层
DockerFile指令集
1. FROM 基础镜像,一切从这里构建
2. MAINTAINER 镜像是谁写的,姓名+邮箱
3. RUN 镜像构建的时候需要运行的命令
4. ADD 步骤,tomcat镜像,tomcat压缩包,添加内容
5. WORKDIR 镜像的工作目录
6. VOLUME 挂载的目录
7. EXPOSE 保留端口配置
8. CMD 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被代替
9. ENTRYPOINT 指定这个容器启动的时候要运行的命令,可以追加命令
10.ONBUILD 当构建一个被继承的DockerFile这个时候就会运行ONBUILD指令,出发指令
11.COPY 类似ADD,将文件拷贝到镜像中
12.ENV 构建的时候设置环境变量