什么是容器数据卷
使用数据卷
命令方式挂载
docker run -it -v 主机目录:容器内目录
查看容器信息
docker inspect 容器id
如何确定是具名挂载还是匿名挂载
-v 容器内路径 #匿名挂载
-v 卷名:容器内路径 #具名挂载
-v /宿主机路径::容器内路径 #制定路径挂载
#通过 -v 容器内路径:ro rw改变读写权限
ro readonly #只读
rw readwrite #可读可写
#一旦设置了容器权限,容器对我们挂载出来的内容就有限定了
dodcker run -d -p --name nginx01 -v jumig-nginx:etc/nginx:ro nginx
dodcker run -d -p --name nginx01 -v jumig-nginx:etc/nginx:rw nginx
#ro 说明路径只能通过宿主机来操作,容器内部不能操作
数据卷容器
多个mysql 同步数据
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-frm mysql01 mysql:5.7
容器间配置信息的传递,数据卷容器的生命周期一直持续到没有人使用为止
Dockerfile
dockerfile是用来构建docker镜像的文件
构建步骤
- 编写一个dockerfile文件
- docker build构建成为一个镜像
- docker run 运行镜像
docker push 发布镜像(dockerhub、阿里云镜像仓库)
DockerFile构建过程
基础知识:
每个保留关键字(指令)都必须是大写的
- 执行从上到下顺序执行
表示注释
- 每个指令都会创建一个新的镜像层,并提交
dockerfile是面向开发的,以后发布项目,做镜像,就要编写dockerfile文件
Dcoker镜像主键成为企业交付的标准,必须要掌握
DockerFile:构建文件,定义了一切的步骤,源代码
DockerImages:通过DockerFile构建生成的镜像,最终发布和运行的产品
Docker容器:容器就是镜像运行起来提供服务器
DockerFile的指令
FROM #基础镜像,一切从这里开始构建
MAINTAINER #镜像是谁写的,一般是姓名+邮箱
RUN #镜像构建的时候需要运行的命令
ADD #添加内容 比如:tomcat镜像
WORKDIR #镜像的工作目录
VOLUME #挂载的目录
EXPOSE #暴露端口配置
CMD #指定容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD #当构建一个被继承DockerFile这个时候就会运行ONBUILD指令
COPY #类似ADD,将文件拷贝到镜像中
ENV #构建的时候设置环境变量