Docker
2023-05-19 07:40:54 42 举报
AI智能生成
Docker是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker的主要优点包括:更快速的交付和部署、更轻松的迁移和扩展、更少的资源消耗和更高的安全性。Docker在开发者、测试人员和运维人员之间架起了一个桥梁,使得软件交付更加高效、可靠和标准化。自2013年以来,Docker已经成为了云计算和DevOps领域的一个关键技术,被广泛应用于各种场景,如持续集成、微服务架构、自动化测试等。
作者其他创作
大纲/内容
什么是Docker
容器技术,主要解决软件跨环境部署迁移的问题
优势
一致的运行环境,更轻松的迁移 || 环境一致,高效迁移
对(操作系统层面)进程进行封装隔离,容器与容器之间互不影响,更高效的利用系统资源 || 进程隔离,容器独立
通过镜像复制N多个环境一致容器 || 镜像机制,便于部署
Docker 和虚拟机的区别
虚拟机是携带操作系统,本身很小的应用程序却因为携带了操作系统而变得非常大,很笨重。Docker是不携带操作系统的,所以Docker的应用就非常的轻巧。另外在调用宿主机的CPU、磁盘等等这些资源的时候,拿内存举例,虚拟机是利用Hypervisor去虚拟化内存,整个调用过程是虚拟内存->虚拟物理内存->真正物理内存,但是Docker是利用Docker Engine去调用宿主的的资源,这时候过程是虚拟内存->真正物理内存。
Docker的核心架构
常用命令
进程相关命令
Image镜像命令
Contrainer容器命令
Docker的镜像原理
镜像是什么?
为什么镜像那么大?
UnionFS(联合文件系统)
镜像原理
为什么docker镜像要采用这种分层结构呢?
DockerFile
什么是?
为什么需要?
DockerFile的解析过程
DockerFile的命令
CMD 和 ENTRYPOINT的区别
高级网络配置
容器与宿主机,容器与容器如何进行通讯?
数据卷配置
为什么需要?
需要将容器内的数据,持久的保存
数据卷的作用
docker run ... –v 宿主机目录(文件):容器内目录(文件) ...
数据卷注意事项
Docker Compose
为什么需要?
之前我们都是站在容器的角度来管理和操作,在实际使用中我们需要以项目的角度来管理和操作。
是什么?
docker-compose模板文件
模板命令
build
指定 `Dockerfile` 所在文件夹的路径(可以是绝对路径,或者相对 docker-compose.yml 文件的路径)。 `Compose` 将会利用它自动构建这个镜像,然后使用这个镜像。
command
覆盖容器启动后默认执行的命令。
container_name
容器名
depends_on
解决容器的依赖、启动先后的问题
env_file
从文件中获取环境变量
environment
设置环境变量
healthcheck
心跳检测
image
镜像名称或镜像 ID
networks
配置容器连接的网络。
ports
暴露端口信息。
sysctls
配置容器内核参数
volumes
数据卷所挂载路径设置
示例
docker-compose常用命令
命令格式
docker-compose [-f=<arg>...] [options] [COMMAND] [ARGS...]
命令
up
down
停止 `up` 命令所启动的容器,并移除网络
exec
进入指定的容器
ps
列出项目中目前的所有容器
restart
rm
删除所有(停止状态的)服务容器。推荐先执行 docker-compose stop命令来停止容器。
start
stop
top
查看各个服务容器内运行的进程
unpause
恢复处于暂停状态中的服务
0 条评论
下一页