摘要:系统有两个程序服务端和客户端。其中服务端是一个服务进程,管理着所有的容器。客户端则扮演着服务端的远程控制器,可以用来控制的服务端进程。守护进程会处理复杂繁重的任务,例如建立运行发布你的容器。客户端和守护进程之间通过或者进行通信。
预期学习目标
Docker基本概念
配置本地Docker环境
容器的生命周期与配置
端口映射和容器链接
利用volume保存持久化容器数据
检查容器日志
监控容器内部进程状态
构建容器镜像
镜像管理
基本信息 安装预卸载Docker Desktop for Windows
Windows 环境需要运行 Microsoft Hyper-V
安装完成后使用 Docker Hub 账号登录,需要注意的是,使用 Docker ID 登录而不是邮箱登录,不然 run 的时候会出错
Linux
# 卸载旧版本 rpm -qa | grep docker | xargs yum -y remove #安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 # 配置稳定版仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装最新版本的Docker CE和containerd yum install docker-ce docker-ce-cli containerd.io # 启动 systemctl start docker # 设置开启自启 systemctl enable docker # 运行 hello-world 验证安装结果 docker run hello-world基本配置 编排多个容器
# 创建多容器套件并在后台运行 docker-compose up -d # 销毁多容器套件 docker-compose down # 列出所有容器ID docker ps -aq # 停止所有的容器 docker stop $(docker ps -aq) # 删除所有停止的容器 docker container prune # 删除所有不使用的镜像 docker image prune编排文件格式
# 指定 Dockerfile 所在文件夹的路径 build # 数据卷所挂载路径设置 volumes # 指定设备映射关系 devices # 配置容器连接的网络 networks # 自定义 DNS 服务器 dns # 挂载一个 tmpfs 文件系统到容器 tmpfs # 设置环境变量 environment # 暴露端口信息 (使用宿主端口) ports # 暴露端口,但不映射到宿主机,只被连接的服务访问 (仅可以指定内部端口为参数) expose使用远程连接
Docker 使用客户端-服务器 (C/S) 架构模式。Docker 系统有两个程序:docker 服务端和 docker 客户端。其中 docker 服务端是一个服务进程,管理着所有的容器。docker 客户端则扮演着 docker 服务端的远程控制器,可以用来控制 docker 的服务端进程。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布你的 Docker 容器。Docker 客户端和守护进程可以运行在同一个系统上,当然你也可以使用 Docker 客户端去连接一个远程的 Docker 守护进程。Docker 客户端和守护进程之间通过 socket 或者 RESTful API 进行通信。
配置远程访问(不安全)
# 编辑或创建文件 vim /etc/docker/daemon.json # 配置 { "hosts":[ "unix:///var/run/docker.sock", "tcp://0.0.0.0:2375" ] } # 重新读取配置文件, systemctl daemon-reload # 重新启动服务 systemctl restart docker # 使用测试机器进行连接测试 docker -H tcp://35.24.113.168:2375 info
配置远程访问(不安全)
# 编辑文件 vim /usr/lib/systemd/system/docker.service # 配置远程访问 [Service] ExecStart= ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock # 重新读取配置文件, systemctl daemon-reload # 重新启动服务 systemctl restart docker # 使用测试机器进行连接测试 docker -H tcp://35.24.113.168:2375 info
使用证书认证进行连接
基本命令# 查看docker的运行情况 docker ps # 查看docker的信息 docker info # 进入终端 : [-t | --tty] 交互式连接 : [-i | --interactive] docker exec -it container_name /bin/bash # 查看容器IP和容器ID cat /etc/hosts # 帮助命令 docker --help # 列出所有容器 docker container ls -all # 列出所有镜像 docker image ls -all # 查看版本 docker --version # 查容器编排工具的版本 docker-compose -v # 拉取一个hello-world镜像,并创建容器并运行 docker run hello-world错误排查
Windows 下未暴露 2375 端口
# 查看端口 netstat -ano | findstr 2375 # 探测端口 telnet 127.0.0.1 2375 # 查看端口是否被过滤 netsh interface ipv4 show excludedportrange protocol=tcp # 禁用Hyper-V并重新启动 dism.exe /Online /Disable-Feature:Microsoft-Hyper-V # 保留 2375 端口 netsh int ipv4 add excludedportrange protocol=tcp startport=2375 numberofports=1 # 启用Hyper-V并重新启动 dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All相关文章
Linux 学习笔记(一):内网穿透
Linux 学习笔记(二):搭建个人Git服务器
Linux 学习笔记(三):Ubuntu 操作系统
Linux 学习笔记(四):Docker
Linux 学习笔记(五):Redis
Linux 学习笔记(六):Linux
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27577.html
摘要:时间年月日星期六说明本文部分内容均来自慕课网。必填用于执行命令,当执行完毕后,将产生一个新的文件层。可选指定此镜像启动时默认执行命令。可选用于指定需要暴露的网络端口号。可选向镜像中挂载一个卷组。 时间:2017年09月16日星期六说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com 教学源码:无 学习源码:无 第一章:课程简介 1-1 课程介绍 Docke...
摘要:容器通过获取一个与同网段的地址,并默认连接到网桥,并将的地址作为网关实现容器与宿主机的网络互通,另外,同一个宿主机下同样使用模式的容器可以直接通讯。 【技术沙龙002期】数据中台:宜信敏捷数据中台建设实践|宜信技术沙龙 将于5月23日晚8点线上直播,点击报名 一、关于Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker...
摘要:编程书籍的整理和收集最近一直在学习深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后也找了很多的书和文章,随着不断的学习,也整理了下自己的学习笔记准备分享出来给大家后续的文章和总结会继续分享,先分享一部分的 编程书籍的整理和收集 最近一直在学习deep learning深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后...
阅读 1840·2021-08-19 11:12
阅读 1418·2021-07-25 21:37
阅读 978·2019-08-30 14:07
阅读 1259·2019-08-30 13:12
阅读 643·2019-08-30 11:00
阅读 3521·2019-08-29 16:28
阅读 981·2019-08-29 15:33
阅读 2958·2019-08-26 13:40