国税部门强化网站建设,互联网下载安装,西安网页设计培训机构哪个好,桂林网站建设找骏程前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到教程。
以下内容全文出自书目#xff1a;《 Docker 进阶与实战 》 1. Docker 定义#xff1a;一个开源的容器引擎#xff0c;可以方便地对容…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到教程。
以下内容全文出自书目《 Docker 进阶与实战 》 1. Docker 定义一个开源的容器引擎可以方便地对容器进行管理不同容器可以共享底层的只读镜像。
2. Docker 是一个典型的 C/S 架构的应用。
3. Docker deamon 可以被理解成 Docker Server 也常常用 Docker Engine 来描述它。
4. 容器以镜像为基础同时又为镜像提供了一个标准和隔离的执行环境。镜像是这个运行环境的静态体现。
5. Registry 是存放镜像的仓库通常被部署在服务器或者云端。支持镜像的分发和更新。 仓库的名字通常由两部分组成中间以斜线分开前是用户名后是镜像名。如tom/ubuntu 。 Docker 公司提供的官方 Registry 叫 Docker Hub 。鉴权认证保证了 Registry 访问的安全性。 若要将镜像 push 到第三方 Registry , 那么镜像名中必须包含该 Registry 地址。 其实 Registry 也是一个单独的开源项目。任何人都可以下载后部署一个自己的 Registry 。 6. Docker 的安装
sudo ape-get install docker.io
7. Docker Container : 内核容器技术。自动构建时当前机器的配置不会影响镜像的构建过程。 Docker 容器与主机共享操作系统内核。
8. 容器虚拟化是一种操作系统虚拟化属于轻量级的虚拟化。
9. Namespace : 命名空间 / 名字空间主要作访问隔离。将内核的全部资源作封装使得每个空间有一份独立资源不同进程在各自空间内对同一种资源的使用不会相互干扰。
10. Cgroup 是 Control group 的简称亦称为控制组主要作资源控制。用于限制和隔离一组进程对系统资源的使用。
11. 容器组成公式
容器 cgroup namespace rootfs 容器引擎用户态工具Cgroup : 资源控制Namespace : 访问隔离rootfs 文件系统隔离容器引擎 生命周期控制
12. $$ 表示当前进程。
13. IPC 是 Inter - Process Communication 的简写进程间通信。
14. Mount Namespace 用于隔离文件系统挂载点删除方式
ip netns delete new_ns
15. host 的普通用户进程在容器里可以是 0 号用户也就是 root 用户。
16. Docker image 是用来启动容器的只读模板。
17. 导入镜像有 2 个可用命令
docker import / docker load 。 docker load 一般只用于导入由 docker save 导出的镜像。
18.生成镜像方式
docker commit 可增量的生成一个镜像。docker build : 通过 dockerfile 文件生成镜像。
19. 列出容器
docker ps
20. 列出镜像
docker images
21. 查看容器和镜像详细信息
docker inspect
22. Docker images 包含数据必要的元数据。数据由一层层的 image layer 组成元数据则是一些 JSON 文件。用来描述数据image layer之间的关系及容器的一些配置信息。
23. Docker 对镜像进行了完整性校验其完整性的凭证是由镜像仓库提供的。
24. image ID 实际上只是最上层的 layer ID所以 Docker inspect 也适用于任何一层 layer 。
25. “ env ” : 容器启动时会作为容器的环境变量。“ Cmd ” : 容器启动时的默认命令。
26. Docker image 可使用写时复制快并节省空间。
27. 若制作 image 时使用到了上些关键信息账号、密码等则需要在同层删除不然这些信息会一直存在于 image 中。
28. 若下载镜像不带标签会把 ubuntu 仓库下官方默认 tag 镜像全部下载。
29. 沙盒隔离的网络运行环境保存了容器网络栈的配置包括了对网络接口、路由表和 DNS 配置的管理。
30. docker create 、 docker run 可带参数-v : 添加数据卷并可多次指定来挂载多个数据卷。 -v 会在容器的 /tmp/data 目录下创建一个新的数据卷。 可用 docker Inspet 查看数据卷在主机中的位置。 -v 也可将 Docker daemon 所在主机上的文件或文件夹挂载到容器中。 -v 参数的主机目录必须使用绝对路径若指定路径不存在 Docker 会自动创建该目录。 使用数据卷容器存储的数据不会轻易丢失删除容器、甚至是初始化该数据卷的 dbdata ,该数据卷也不会被删除。
31. 在本机部署 Convoy 插件后可用 Convoy 创建一个卷 见书 P103
sudo convoy create volume_name
删除
sudo convoy delete volume_name
备份
sudo convoy backup create snaplvoll --dest vfs:///opt/convoy/
32. Linux 的命令 ulimit 可对一些资源起限制作用包括
core dump 文件的大小、进程数据段的大小、可创建文件的大小、常驻内存集的大小 、打开文件的数量、进程栈的大小、CPU 时间 、单个用户最大线程数、进程最大虚拟内存
33. Docker 可设置容器的根文件系统为只读模式。
34. Dockerfile 由四部分组成
基础镜像信息、维护者信息、镜像操作指令、容器启动命令 其第一条有效信息必须是基础镜像信息 FROM 指令。用来指定要制作的镜像继承自哪个镜像。 可以写多个 FROM 指令来构建复杂镜像。
EXPOSE : 暴露端口CMD 容器启动时执行的命令。每个 Dockerfile 只能有一条 CMD 命令写了多条时只有最后一条会被执行。若用户启动容器时指定了运行命令则会覆盖 CMD 指定命令。VOLUME 创建一个可从本地主机或其它容器挂载的挂载点。常用来存放数据库或需要永久保存的数据。ENV 指定一个环境变量。被后续 RUN 命令使用并在容器运行时保持。
35. Docker 制作镜像的顺序
1. 解析 Dockerfile找到基础镜像。2. 以基础镜像为基础创建一个容器。3. 在容器中按顺序执行 Dockerfile 中的命令。4. 若不是 RUN 命令如 ENV 命令记录下来以便启动时执行。5. 把属性命令记录在 Image 的属性中。6. 所有命令执行完后commit 该容器为新的镜像。
36. Docker run 命令中用 -p 实现端口映射。 808089 表示将主机上的 80 端口映射到容器中的 8089 端口。对外端口容器内端口
37. Docker build 命令可跟参数 -f 指定 build 命令中的 “ dockerfile ” 选项来设置所需的 Dockerfile 。
38. docker-compose-yml 文件中
1. “ ports ” 对应 docker run 中的 -p 参数。2. “ volumes ” 对应 -v 选项。3. “ links ” 对应 “ --links ” 选项。39.搭建 Jenkins 环境有 2 种方式 1 直接在主机中配置 Jenkins 环境 。 2 使用 Docker 镜像配置 Jenkins 环境
1. 下载 Jenkins 镜像 docker pull jenkins2. 启动 Jenkins 容器 docker run -d -p 49001:8080 -t Jenkins-d : 后台运行 -p : 端口映射; -t 给容器命名。