为什么用数据卷?
为解决这些问题,docker加入了数据卷机制,能很好解决上面问题。
数据卷的特点
数据卷管理
Docker挂载容器数据卷的三种方式
bind mounts方式挂载数据卷
利用docker run/create的参数为容器挂载数据卷
--mount参数
--mount type=bind, src=宿主机文件或文件夹路径, dst=容器中的文件或者文件夹路径

volumes方式挂载数据卷
--mount 参数
--mount type=volume, src=VOLUME-NAME, dst=容器中的文件或者文件夹路径
Docker的数据卷更多会是使用volumes方式来进行使用。
Docker仓库就是存放docker镜像并有docker pull方法下载的云环境,可以分为公有仓库和私有仓库:
私有仓库搭建
docker pull registry。docker run -id --name=registry -p 5000:5000 registry,这将创建一个名为registry的容器,并将主机的5000端口映射到容器的5000端口。http://私有仓库服务器ip:5000/v2/_catalog,如果看到 {'repositories': []},则表示私有仓库搭建成功。/etc/docker/daemon.json 文件,添加 "insecure-registries":["私有仓库服务器ip:5000"],使Docker信任指定的私有仓库地址。注意替换为自己私有仓库服务器的真实IP。systemctl restart docker 来重启Docker服务,使得之前的更改生效。docker tag 命令为本地镜像添加一个标签,格式为 私有仓库服务器IP:5000/centos:7。然后使用 docker push 命令将标记的镜像上传到私有仓库。docker pull 命令可以从私有仓库拉取已经上传的镜像。Dockerfile就是根据特定的语法格式撰写出来的一个普通的文本文件 利用docker build命令依次执行在Dockerfile中定义的一系列命令,最终生成一个新的镜像 。
Dockerfile使用命令 – docker build
作用:根据dockerfile创建镜像
docker build [OPTIONS] PATH | URL | -
-t, --tag list 为镜像设置名称和tag
-f, --file string 指定Dockerfile的路径
特征:
Dockerfile 由一系列指令构成,每个指令通常在文件中占据一行。指令包括基础镜像设置(FROM)、维护者信息(MAINTAINER)、环境变量设置(ENV)、复制文件(COPY 和 ADD)、安装软件包(RUN)、设置工作目录(WORKDIR)、暴露端口(EXPOSE)、指定入口点(CMD 和 ENTRYPOINT)等,每一个Dockerfile命令都会构建一层镜像。
Dockerfile 命令
Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。
Docker Compose 是 Docker 的官方工具,它允许用户通过编写一个 YAML 文件来配置应用服务。这个配置文件可以定义服务的启动顺序、网络设置、挂载的卷以及其他与服务相关的选项。
Docker Compose 的一些主要功能:
管理方式:
使用YAML文件来配置我们应用程序的服务,使用单个命令(docker-compose up),就可以创建并启动配置文件中配置的所有服务。
Docker Compose File 有多个版本,基本是向后兼容的,但也有极个别配置项高版本中没有。

Docker Compose File 顶级配置项: