这是关于 Docker 官方 Centos6 和 Centos7 镜像
有 3 个独立但相关的问题:
(1) 开始使用“docker RUN centos”时,root 密码是什么以及如何找到它?
(2) 当从派生镜像(通过使用Dockerfile FROM entry从官方docker centos派生的镜像)启动时,root密码是什么以及如何找到它?
(3) 在这两种情况下,如果答案都是“您需要在 Dockerfile 中设置 root 密码”,那么最好推荐的设置方法是什么。(“yum install passwd; passwd;”是一种选择,但这是最佳实践吗?)
非常感谢!
我在 Mac 上经常使用 VirtualBox 来制作 Linux 映像。迁移到 Docker 有什么好处?所以我想知道Docker和VirtualBox有什么区别?
我在将主显示器扩展到外接显示器时遇到问题。直到通过安装 Docker 启用 hyper-v 后,我才遇到此问题。
重新启动计算机以启用 hyper-v 后,Windows 10 中的“自定义显示器”页面告诉我我有 4 个显示器。如果我的声誉更高,我会发布图片,但我会尝试通过文字进行解释。
对于我的主显示器,它说它是“1|3”。然后我的其他显示表示为“2”、“5”和“6”。
关于如何解决这个问题的任何想法?
编辑:我找到了一个解决这个问题的hackey方法——但我不认为我想要它作为主要的解决方案。
Display 1在此答案中)后,单击“仅在 1 上显示”。是否有可能完全摆脱断开连接的显示器?当我只有两个显示器时,我仍然有 6 个显示器,但其他四个现在不影响我的显示器。
我正在尝试在 Docker Swarm 中部署服务。我无法让容器始终连接到不同节点上的容器。
假设我正在构建一个 GlusterFS 池;我需要在每个容器中打开一个终端并将 gluster 守护进程添加到池中。我如何引用池中的其他容器?目前我正在使用 IP 地址,但是如果容器死亡并重新创建怎么办?据我所知,不能保证新容器将具有相同的 IP 地址。我可以使用嵌入式 DNS 服务器来引用其他容器,但我似乎只能将容器名称和容器 ID 解析为 IP 地址,如果容器死亡并重新创建,这两者都会改变,因此没有意义。
我不应该能够将其他容器的主机名解析为它们的 IP 地址吗?我以为会,但事实并非如此。
我的难题有什么解决方案吗?(我觉得我可能会错误地使用服务,在这种情况下,我应该在每个节点上手动创建一个容器。)
我有一个 CentOS 7 系统,其中根文件系统是 XFS(使用ftype=0,系统安装时的默认 CentOS 设置创建)。不幸的是,Dockeroverlay2存储驱动程序需要使用以下命令创建文件系统ftype=1:
https://docs.docker.com/storage/storagedriver/overlayfs-driver/#prerequisites
所以现在我想用ftype=1. 我想这样做如下:
xfsdump 将根 FS 转移到远程位置。ftype=1.xfsrestore 来自远程转储的根 FS。但是,我不确定的一件事是xfsdump输出是否带有与ftype设置相关的任何内容。也就是说,xfsrestore在具有不同ftype设置的 XFS 文件系统上执行此操作会有任何问题吗?
或者是否有更好的方法来解决这个特定问题(不涉及重新安装整个系统、重新分区等)?
我已经安装docker在一台全新的 ubuntu 桌面 18.04 机器上,安装完成后我立即失去了主机中的互联网连接。更具体地说,我可以ping 8.8.8.8但我不能ping www.google.com。
重现错误的步骤如下:
编辑:
全新安装和我的情况之间最重要的区别是我的机器使用的是本地 DNS 服务器,该服务器在公司网络中172.17.100.3和172.17.100.70公司网络中具有固定地址。
从我到目前为止阅读,无论是问题来自NetworkManager的尝试管理docker0界面或 东西在泊坞窗安装过程中断裂systemd的决心能力。注意systemd-resolve 默认使用 127.0.0.53
到目前为止,我已经尝试了以下几点:
nameserver 8.8.8.8在/etc/resolv.conf作品resolv.conf。dnsmasq来自/etc/NetworkingManager.conf:我用这个解决方案,因为我在这里展示https://github.com/moby/moby/issues/36153,这表明在Ubuntu 16.04的同样的问题。我全新安装的 18.04 没有此行,因此此修复程序不再有效。NetworkManager完全删除,如https://docs.docker.com/install/linux/linux-postinstall/#dns-resolver-found-in-resolvconf-and-containers-cant-use-it但我不确定这是否与我的问题有关。我也不知道这是否会破坏其他东西。docker0 https://gist.github.com/lanrat/458066dbdeb460b9cef40dc2af639a24 …我听说“Windows 10 Spring 更新带来 WSL Unix Sockets 支持”。
之前,由于套接字错误,我无法将 docker 服务运行到 WSL 中。
无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。docker 守护进程是否正在运行?
新的 WLS spring 更新功能是否足以在 WSL 上运行 docker?
尝试在我的 Windows 10 Home 64 位机器上运行 Docker Toolbox。
此外,Hyper-V 已经启用!
但是在运行 Docker 快速入门终端时,它总是显示“这台计算机没有启用 VT-X/AMD-v。在 BIOS 中启用它是强制性的”!
将Windows 10上的Docker Desktop替换为更新版本后,点击启动,出现如下错误
WSL 2 安装不完整
WSL 2 Linux 内核现在使用单独的 MSI 更新包进行安装。请单击链接并按照说明安装内核更新:
安装Linux内核后按重启
默认情况下,在“设置”>“常规”中,已选择“使用基于 WSL 2 的引擎”选项。这可能是因为我已经在本地安装了 Ubuntu 18.04 LTS。
如果我转到 Docker 桌面设置 > 资源 > WSL 集成
您没有任何 WSL 2 发行版。请将 WSL 1 发行版转换为 WSL 2,或者安装一个新发行版,它会出现在这里。
如何让 Docker 运行?
本节指定 Docker 容器获取主机的/etc/resolv.conf. 然而,当我在 Fedora 34 上运行一个简单的容器时,我得到了不同的结果:
$ cat /etc/resolv.conf
# This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
...
nameserver 127.0.0.53
options edns0 trust-ad
search .
Run Code Online (Sandbox Code Playgroud)
$ docker run --rm -it alpine /bin/sh
/ # cat /etc/resolv.conf
# This is /run/systemd/resolve/resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
...
nameserver 192.168.0.1
nameserver 192.168.0.2
search .
Run Code Online (Sandbox Code Playgroud)
docker 容器获得了我的主接口的名称服务器,由以下人员维护systemd-resolved:
$ resolvectl dns enp1s0
Link 2 (enp1s0): 192.168.0.1 192.168.0.2
Run Code Online (Sandbox Code Playgroud)
当我想访问互联网时这有效。但这是否意味着 Docker 以某种方式与 集成systemd-resolved …
docker ×10
dns ×3
linux ×3
networking ×3
windows-10 ×3
centos ×2
windows ×2
display ×1
docker-swarm ×1
mac ×1
passwords ×1
rhel-7 ×1
root ×1
systemd ×1
ubuntu ×1
virtualbox ×1
windows-subsystem-for-linux ×1
xfs ×1