Docker入门笔记
什么是Docker?
Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行。
CI(持续集成)服务器的功能是什么?
CI功能就是在每次提交之后不断地集成所有提交到存储库的代码,并编译检查错误什么是Docker镜像?Docker镜像是Docker容器的源代码,Docker镜像用于创建容器。使用build命令创建镜像什么是Docker容器?Docker容器包括应用程序及其所有依赖项,作为操作系统的独立进程运行Docker容器有几种状态?
Docker容器可以有四种状态:
- 运行
- 已暂停
- 重新启动
- 已退出
Docker使用流程
1)创建Dockerfile后,您可以构建它以创建容器的镜像
2)推送或拉取镜像。
Dockerfile中最常见的指令是什么?
FROM:指定基础镜像
LABEL:功能是为镜像指定标签
RUN:运行指定的命令
CMD:容器启动时要运行的命令
Dockerfile中的命令COPY和ADD命令有什么区别?COPY与ADD的区别COPY的<src>只能是本地文件,其他用法一致docker常用命令?
docker pull 拉取或者更新指定镜像
docker push 将镜像推送至远程仓库
docker rm 删除容器
docker rmi 删除镜像
docker images 列出所有镜像
docker ps 列出所有容器
docker数据持久化
docker实现数据持久化的方式:
(1)Bind mount(绑定挂载):
创建容器时,使用“-v”选项,将本地的目录挂载到容器中。采用这种方式容器的挂载类型为bind!
特点:
- Data Volume是目录或文件,不能是没有格式化的磁盘(块设备);
- 容器可以读写volume中的数据;
- 随源文件变化而变化;
- volume数据可以永久保存,即使使用它的容器已经被销毁;
注意:
- DockerHost上需要被挂着的源文件或目录,必须是已经存在,否则,当做的一个目录挂着到容器中;
- 默认挂载到容器内的文件,容器是有读写权限。可以在运行容器是-v后边加“:ro” 限制容器的写入权限;
- 可以挂载单独的文件到容器内部,使用场景:如果不想对整个目录进行覆盖,而只希望添加某个文件,就可以使用挂载单个文件;
(2)Manager Volume(数据卷管理员)
创建容器时,使用“-v“选项,只指定容器中的目录即可!采用这种方式容器的挂载类型为volume;
特点:
- 随着源文件的变化而变化,跟Bind mount效果是一样;
- 删除容器的操作,默认不会对dockerhost主机上的原文件进行删除,如果想要在删除容器是将原文件删除,可以在删除容器时添加“-v”选项,(一般情况下不建议使用,因为文件有可能被其他容器就使用);
(3)Volume containe(容器与容器的数据共享)
采用这种方式,即事先创建一个容器,专用于挂载本地的目录,然后创建容器时,使用“--volumes-from”指定挂载本地目录的容器即可(这种模式是将原本容器中挂载的所有目录都挂载到新创建的容器中)!
这种方式也是提供bind mount模式和manager volume模式!
Docker介绍与基本概念 (参考《网易云课堂-微专业Java》)
Docker对传统虚拟机的优势
Docker架构
Docker的基本概念
Docker镜像
Docker镜像的分层存储
Docker容器
Docker仓库
Docker的安装
Docker卸载
镜配置像加速器
对Docker的镜像操作
获取Docker
运行镜像
列出镜像
删除本地镜像