10. Docker 安装与配置

10. Docker 安装与配置,第1张

Docker 是一个开源的应用容器引擎,基于LXC(Linux Container)内核虚拟化技术实现,提供一系列更强的功能,比如镜像、 Dockerfile等;Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任意Linux发行版Docker引擎上。使用沙箱机制运行高陵罩程序, 程序之间相互隔离;

容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的一个独立的进程,不占用其他任何可执行文戚闹件的内存,非常轻量、高效、快速。

虚拟机运行的是一个完成的 *** 作系统,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。

参考: https://www.cnblogs.com/codingbit/p/install-docker-in-ubuntu.html

Linux版本CentOS7

使用加速可以提升获取Docker官方镜像的速度,下面使用 阿里云镜像 进行加速。

通过修改daemon配置文件 /etc/docker/daemon.json 来使用加速

Docker 守护进程绑定在 Unix socket 而不是 TCP 端口。默认情况下 Unix socket 归属于 root 用户,其他用户只能通过 sudo 命令访问。所以 Docker 守护进程总是以 root 用户来运行。

如果你不希望每次运行 docker 命令时在前面加上 sudo,你可以创建一个 docker 用户组并把用户加进去。当 Docker 守护进程启动时,会创建一个 Unix socket 供 docker 用户组成员访问

创建 docker 用户组并添加你的用户

https://hub.docker.com/

什么是 DockerHub 以及为什么它很重要?DockerHub 是一个由 Docker 公司运行和管理的基于云的存储库。它是一个在线存储库,Docker 镜像可以由其他用户发布和使用。

有两种库:公共存储库和私有存储库 。如果你是一家公司,你可以在你自己的组织内拥有一个私有存储库,而公共镜像可以被任何人使用。

镜像层和容器层

Docker 服务端是Docker 所有后台服务的统称 。其中dockerd 是一个非常重要的后台管理进程,它负责响应汪伏和处理来自Docker 客户端的请求,然后将客户端的请求转化为Docker 的具体 *** 作。

例如:镜像、容器、网络和挂载卷等具体对象的 *** 作和管理。

Docker 从诞生到现在,服务端经历了多次架构重构。起初,服务端的组件是全部集成在docker 二进制里。但是从 1.11 版本开始, dockerd 已经成了独立的二进制,此时的容器也不是直接由dockerd 来启动了,而是集成了containerd、runC 等多个组件。

虽然 Docker 的架构在不停重构,但是各个模块的基本功能和定位并没有变化。它和一般的 C/S 架构系统一样,Docker 服务端模块负责和 Docker 客户端交互,并管理Docker 的容器、镜像、网络等资源。

Docker 有两个至关重要的组件: runC和containerd。

runC 是Docker 官方按照OCI 容器运行时标准的一个实现。通俗地讲,runC 是一个用来运行容器的轻量级工具,是真正用来运行容器的。

containerd 是Docker 服务端的一个核心组件,它是从dockerd 中剥离出来的 ,它的诞生完全遵循OCI 标准,是容器标准化后的产物。containerd通过containerd-shim 启动并管理runC,可以说containerd真正管理了容器的生命周期。

1. 容器中长期运行 程序

有两种方式:

2. 容器 开启和停止 程序

有两种方式

3. 进入容器

有2种方法

想要web部署在互联网上 或者 在Web上访问 应用;

个人电脑处于 私网 中; IP地址处于 IPV4 和 IPV6

安装appium

排错,困难

https://hub.docker.com/r/appium/appium

测试adb

改变TCPIP连接方式

查看appium运行日志

容器端口号为 4723

开启nginx,就可以在web访问 192.168.0.100;

Dockerfile其实可以看做一个命令集 。每行均为一条命令。每行的第一个单词,就是命令command。后面的字符串是该命令所要接收的参数。比如ENTRYPOINT /bin/bash。ENTRYPOINT命令的作用就是将后面的参数设置为镜像的entrypoint。至于现有命令的含义,这里不再详述。DockOne上有很多的介绍。

FROM 指令用于指定其后构建新镜像所使用的基础镜像。FROM 指令必是 Dockerfile 文件中的首条命令,启动构建流程后,Docker 将会基于该镜像构建新镜像,FROM 后的命令也会基于这个基础镜像。

在镜像的构建过程中执行特定的命令,并生成一个中间镜像。格式:

最多127层,不是写shell ;

如果你在 Windows 系统上安装了 Docker Desktop,启动 Docker Desktop 后只出现了“Close”按钮,并没有看到 Docker 图标,则有可能是 Docker Desktop 运行环境的问题所致辩裂。以下是可能的解决方法:

1. 查看系统要求:首先,请确保你的 Windows 系统版本符合 Docker Desktop 的要求(Windows 10 版本要求为 1903 及以上版本)。还要检查 CPU 是否支持虚拟化并开启了相关功能。

2. 切换为 Windows 容器模式:如果你已经安装了 Docker Desktop,同时电脑也已经开启了 Hyper-V,但仍然无法正常运行 Docker,可以尝试将 Docker Desktop 切换为使用 Windows 容器模式。右键单击 Docker Desktop 图标,选择“Settings”,然后选择“General”,在“Windows”下找到“Switch to Windows containers”选项,点击它,等待 Docker Desktop 完全切换为 Windows 容器模式(需要一些时间)。

3. 检查 Hyper-V 设置:Hyper-V 是 Docker Desktop 的必须组件之一。请确保它被正确地安装和配置。以管理员身份运行 PowerShell,然后运行以下命令:

```powershell

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

```

该命令显示 Microsoft Hyper-V 的状扮培态。如果显示状态是“Disabled”,则可以通过运行以下命令启用 Hyper-V:

```powershell

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

```

重新启动系统后,再次打开 Docker Desktop,查看是否能够正常显示 Docker 图标。

希望这些解决方法对你有所帮助。如果问题仍然存在,请参考 Docker 官方文档或者提交具体厅灶唯的错误信息以获得更准确的解答。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12487910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存