docker学习思维笔记
2024-04-09 14:47:41 10 举报
AI智能生成
Docker是一种操作系统虚拟化技术,可以将应用程序及其依赖项打包在一起,使得应用程序可以在不同的主机之间无缝运行。以下是Docker学习的核心内容: 1. **镜像(Image)**:镜像是一个只读的模板,包含了应用程序及其所有依赖项。可以通过Dockerfile定义一个镜像,也可以从Docker Hub或其他仓库中获取公共镜像。 2. **容器(Container)**:容器是镜像的运行实例。容器可以在主机上独立运行,也可以与其他容器共享资源。每个容器都有自己的文件系统、网络接口和进程空间。 3. **Dockerfile**:Dockerfile是一个文本文件,用于定义镜像的内容。包括基本镜像、要运行的命令、暴露的端口等。 4. **Docker Hub**:Docker Hub是一个公共仓库,用户可以在其中存储和共享镜像。也可以从Docker Hub中获取其他人制作的镜像。 5. **Docker Compose**:Docker Compose是一个工具,用于定义和运行多容器Docker应用程序。通过编写一个YAML文件来定义应用程序的各个容器和服务,然后使用Docker Compose来启动和停止整个应用程序。 6. **Docker Swarm**:Docker Swarm是一个工具,用于管理和调度多个Docker主机上的容器。Swarm支持容器的负载均衡、服务发现和滚动更新等功能。 7. **Docker网络**:Docker提供了多种网络模式,包括桥接网络、主机网络和 overlay 网络,用于容器之间的通信和与其他主机的通信。 通过这些核心内容的学习,可以全面掌握Docker的使用方法,并将其应用到实际项目中。
作者其他创作
大纲/内容
容器
数据卷
是什么
能干什么
数据卷
数据容器卷
是什么
能干什么
日志系统存储(典型场景)
使用
docker run -it --name n1 --volumes-from n0 centos
Dockerfile介绍
是什么
执行流程
关键字
FROM
基础镜像,当前镜像是基于那个镜像
MAINTAINER
镜像维护者的姓名和邮箱地址
RUN
镜像构建时需要运行的命令
WORKDIR
容器创建后,默认在那个目录
EXPOSE
当前容器对外暴露的接口
ENV
用来构建镜像时设置环境变量
ADD
将宿主机目录下的文件copy到镜像且ADD命令会自动解压压缩包
COPY
VOLUME
容器数据卷,用来保存和持久化
CMD
指定容器启动时需要运行的命令
多条CMD命令,只有最后一条生效
CMD命令会被docker run之后的参数替换
ENTRYPOINT
指定容器启动过程中需要运行的命令
把docker run命令的参数追加到后面
ONBUILD
网络
单机
Bridge Network
Host Network
None Network
多机
Overlay Network
镜像
是什么
UnionFS(联合文件系统)
镜像加载原理
分层镜像
为什么采用这种设计
docker commit 镜像提交
docker commit -m="" -a="作者" 容器id 目标镜像名称:[标签名]
介绍
Docker是什么
出现的原因
设计理念
能干什么
企业级
美团
京东
开发和运维
获取
www.docker.com
www.docker-cn.com
仓库
hub.docker.com
架构
安装
参考官方文档
配置仓库地址
组成
镜像
容器
仓库
命令
帮助命令
docker version
docker info
docker --help
镜像命令
docker images
-a 列出所有镜像
-q 只显示镜像ID
--digests:显示摘要信息
--no-trunc:不截断输出,显示完整的镜像ID
docker search 镜像名
docker rmi 删除镜像
删除单个 docker rmi 镜像id/镜像名称
删除多个镜像 docker rmi id1 id2
删除全部镜像 docker rmi ${docker images -qa}
docker 运行命令
新建并运行
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS --name为容器指定新名称
-d 后台运行
-i交换方式运行
-t伪终端
-p端口映射
-P随机端口映射
列出所有运行的容器
docker ps [options]
-a :所有正在运行和运行过的
-l: 显示最近创建的容器
-n:显示最近创建的n个容器
-q:只显示容器id
退出容器
exit / ctrl + d:退出并停止容器
ctrl+p+q:退出不停止容器
启动容器
docker start 容器id/名称
重启容器
docker restart 容器id/名称
停止容器
docker stop 容器id/名称
强制停止所有容器
docker kill 容器id/名称
删除容器
docker rm 容器id/名称
删除所有容器
docker rm -f $(docker ps -aq)
docker ps -a -q | xargs docker rm
以后台方式运行容器
docker run -d 容器
进入正在运行的容器,并以前台方式运行
docker exec -t 容器id/名称 bashshell 产生新的进程
docker attach 容器id/名称 进入容器不产生新的进程
容器 <->拷贝文件<->主机
docker copy 容器id/名称:容器中路径 主机路径
docker copy 主机路径 容器id/名称:容器中路径
0 条评论
下一页