Docker安装和配置
1.Windows10安装docker
windos7和8上使用的是docker toolbox进行安装,windows10上有另外的安装方法。
(1) [下载docker] (https://hub.docker.com/editions/community/docker-ce-desktop-windows)
使用迅雷下载可能比较快,使用浏览器自带的,下载就特别的慢。
(2) 安装的时候没有找到地方更改安装路径,估计是默认了
(3) 安装完要重启
1.Windows Docker 安装
2.Docker学习系列(一):windows下安装docker
3.Docker windows安装并启用镜像加速 (内容都大同小异,其实windows上已经有了比较成熟的可执行程序,修改配置文件也简单的。)
1.改变镜像文件存储路径
(1) 开始菜单右键->控制面板->管理工具->Hyper-V 管理器->虚拟机右键->设置->SCSI控制器磁盘驱动器。
(2) 将默认C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx的文件拷贝到想要改变的路径,我这里拷贝到D:\soft\DockerImage路径下,然后点击浏览读取并确定保存设置
这样直接修改路径,好像不可以。因为虚拟机已经在运行了,你重新指定一个新的镜像,那只能是打开了新的虚拟机罢了。于是我换了一个思路。通过移动虚拟机的方式进行修改镜像位置。
(1) 打开Hyper-V管理器,选中虚拟机右键->移动->
(2) 打开移动对话框
(3) 一步步的选择操作,到选择文件夹的地方
(4) 点击完成
(5) 再次查看Docker的位置,已经到新的位置上了。
(6) Docker设置中,修改镜像保存地址
除了将Docker虚拟机移动到其他地方,还有一个地方是默认的镜像保存地址是:C:\ProgramData\DockerDesktop\vm-data,可以在设置中修改位置。
(7) 因为我以前安装过一个CentOS镜像,然后有一次莫名其妙的重启系统后,用户没有权限访问自己的文件夹了,只能重新创建了一个用户,用新的用户登录系统。结果就算我重新在Docker中指定了镜像保存的位置,结果这个文件还是删除不掉。
win10下右键任务栏->任务管理器->性能->打开资源监视器->CPU->关联句柄处输入想要查的文件名->这里是explore.exe(资源管理,小心谨慎的操作,直接右键结束进程,你就没有任务栏了,多半要重启电脑。)
当然不重启电脑也行,重新Ctrl+Alt+Del键,调出任务管理器->文件->新建任务->然后输入explorer.exe,确定就好了。
当然这样做了,上面的文件占用问题还是没有解决,然后你猜怎么找,我重启电脑,解决了问题。
没有什么是重启电脑解决不了的,如果有,那就一直重启
2.镜像加速
新版的Docker好像没有了Daemon选项,只有一个Docker Engine,里面有registry-mirrors,可以直接修改这个数组。
1 | { |
我手贱,输入了一个错误的地址,结果,docker启动不起来了。可以找到C:\Users\用户名.docker下的daemon.json,直接修改registry-mirrors的值,然后从任务管理器强制关闭docker,然后重新启动docker。
还有一个地方,如果配置了镜像,还是非常的慢的话,看看是不是DNS没有配置
1 | ## 编辑DNS |
3.国内源不生效
我配置了国内源,但是还是不生效,配置之后,结果不行。我查看了 docker info,已经修改过了国内源。我的是v27.3.1,2024年12月13日,用了很多方法,尝试了很多步骤,结果还是不行,最后还是会走 registry-1 这个东西。
1 | "registry-mirrors": [ |
【尝试方案】
(1)尝试清理缓存,结果无效。
1 | docker system prune -a |
(2)尝试使用代理,结果也没有效果
1 | "proxies": { |
(3)尝试重启电脑,结果无效。
(4)配置阿里云的镜像,结果也是无效,最后还是会走 Error response from daemon: Get “https://registry-1.docker.io/v2/"
(5)修改DNS配置,通过系统设置里面,修改 DNS 为 8.8.4.4,重启Docker,结果无效。出现新的错误: dialing registry-1.docker.io:443 container via direct connection because has no HTTPS proxy
(6)更新 Docker Desktop 版本,到v4.37.0,结果还是不行。
(7)最后我解决了,还是通过配置DNS解决的。
1 | 首选DNS:223.5.5.5 |
但是虽然能解决了 hello-word 的拉取,但是没有解决 opendronemap/odm 的拉取,还是报错误:Error response from daemon: Get “https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
【解决方案】
最后还是通过挂载代理的方式进行的,在Docker Desktop的设置中 -> 选择 Resources -> 然后选择 Proxies -> 修改 http 和 https 代理,这里我用了本地代理的方式,然后重启 Docker 就可以了。
【1】.windows怎么更换docker镜像源不生效
【2】. docker修改镜像地址后不生效
【3】.Windows Docker 配置国内镜像源的两种方法 配置文件位于 C:\Users\Administrator.docker\目录下的daemon.json
【4】.Win docker 设置镜像源失效,不起作用解决办法 貌似版本升级bug。
【5】.如何优雅的给 Docker 配置网络代理 这是linux配置代理的方式。
【6】.docker 设置代理,以及国内加速镜像设置 1.国内镜像加速。2.docker pull 拉取 push 推送镜像时设置代理。3.build 镜像时使用代理。4.设置 docker 全局代理。5.容器使用宿主机的代理的几种方法总结。
【7】.Docker 设置代理指引(Windows 系统) 这里设置了 wsl2 的代理,但是我的windows上没有wsl网络。
【8】.docker 配置镜像后依然报错,没有走镜像 修改了DNS配置,这里用的是 8.8.4.4 的配置,结果不行。
4.ensuring main distro is deployed: checking if main distro is up to date: checking main distro bootstrap version: getting main distro bootstrap version
在重启系统之后,结果出现了这个问题。
【尝试方案】
尝试了命令行,后来又出现了新的问题,An unexpected error occurred while executing a WSL command.Either shut down WSL down with wsl –shutdown, and/or reboot your machine. You can also try reinstalling WSL and/or Docker Desktop.
1 | wsl --unregister docker-desktop |
【解决方案】
最后就是直接选择 恢复 就可以了,其他的也没有什么办法了。
2.Deepin安装docker
一键安装脚本
1 | wget -qO- https://get.docker.com/ | sh |
安装完之后,有一个提示:
这个时候在命令行运行docker会遇到权限的问题,需要使用 sudo docker version命令
如果想要不使用sudo命令运行docker,可以增加docker用户组,并将当前用户添加进去
1 | ## 新建用户组 |
本来想直接使用docker官方的Debain版,因为Deepin是基于Debain开发的,但是有参考资料说明,如果单纯只是使用Debain版的安装,好像不会成功,因为Deepin进行了大量的修改。比如没有wheey版本等,unstable版本的问题等。我的系统版本已经是15.11了。
(1) 卸载
1 | ## 这些命令挺全的,综合了多个版本 |
(2) 安装相关工具
这一步视情况进行安装和不安装,我没有进行安装,直接跳到了安装密钥一步,倒是也没有问题。
1 | sudo apt-get install apt-transport-https ca-certificates curl software-properties-common |
这里我遇到了问题:”没有可用的软件包 python-software-properties,但是它被其它的软件包引用了。”
尝试的解决方法,去掉python-software-properties软件包的安装
(3) 安装秘钥
1 | ## 安装秘钥 |
(4) 添加docker仓库
1 | ## 更新仓库 |
安装这一步(add-apt-repository)的时候,又出现错误了:”could not find a distribution template for Deepin/stable”
(6) 查看docker可安装版本
1 | sudo apt-cache madison docker-ce |
(7) 安装特定版本
1 | ## 安装特定版本docker |
(8) 设置docker非root账户,可以将普通用户也可以使用docker命令运行docker,而不用再输入sudo命令(要重启电脑才能生效)。
1 | sudo gpasswd -a ${USER} docker |
(9) 查看安装的docker版本
1 | docker version |
1.Debian Docker 安装
2.关于Deepin中的Docker
3.在 Deepin 中安装 Docker 最新版的方法
4.deepin安装docker (这个好像写的更加的详细点,版本到了15.10了)
5.deepin系统下的docker安装 (这个版本才刚是15.7)
6.Deepin 安装 最新版Docker (这个就更老了深度15.4)
7.Linux中修改docker镜像源的方法及原因
(10) 修改镜像源
1 | ## 配置文件在daemon.json中,没有就新建 |
1.修改docker镜像源的方法
2.怎么修改镜像源
3.docker 更换镜像源地址
4.Docker 配置国内镜像源加速 中国官方镜像、网易163镜像、中科大镜像
【5】.docker 拉取镜像失败 大部分的镜像网站都不能用了。
(11) 配置本地镜像的存放位置
镜像的默认存放路径是:/var/lib/docker,可以通过修改软连接的方法,也可以通过扩展卷的方法,好像看起来有点复杂,就没有尝试了。
有一种简单的方式,就是修改daemon.json文件。
1 | ## 停止docker服务 |
问题
(1) Got permission denied while trying to connect to the Docker daemon socket
执行:docker search hello-world 出现了权限错误,可是我明明已经执行了gpasswd和usermod命令啊。
参考文章中有这么一句话:
您需要注销并重新登录,以便重新评估组成员身份或键入以下命令:
su -s ${USER}
运行su命令不管事,总是出现鉴定故障,我就干脆重启了电脑。运行:docker version 出现的权限错误,也是这么解决。
1.How to fix docker: Got permission denied while trying to connect to the Docker daemon socket
2.docker执行命令报错:Got permission denied while trying to connect to the Docker daemon socket at unix:///va
3.CentOS安装Docker
CentOS安装Docker其实没啥问题,按照菜鸟教程上的步骤一步步的操作就好了。
1 | ## 卸载原先的安装包 |
1.CentOS Docker 安装
2.修改CentOS默认yum源为国内yum镜像源
3.国内 docker 仓库镜像对比
4.Centos7修改Docker默认存储位置 修改启动参数ExecStart,增加了–graph参数,指向了新的docker镜像存储位置
5.在CentOS 7 更改Docker默认镜像和容器的位置 两种方法修改镜像位置,一种是通过建立软连接的方式,一种就是启动参数增加–graph的方法
6.四个修改Docker默认存储位置的方法 方法一、软链接;方法二、修改镜像和容器的存放路径,修改配置文件指定启动参数即可;方法三、system下创建配置文件;方法四、使用docker-storage-set(docker1.12)命令进行配置
7.docker更改镜像存储位置 第一种就是做软连接;可通过修改/etc/sysconfig/docker文件实现,OPTIONS=’–graph=”/data/docker-data”;通过修改文件/etc/docker/daemon.json 实现,添加”graph”:”/data/docker-data”。如果已经存在了镜像,需要将旧文件移到新的位置:mv /var/lib/docker /data/docker-data ,将docker镜像迁移到新目录
8.docker:containerd.io docker-ce-cli docker-ce 的区别 containerd.io : 守护进程 containerd。 它在 docker 包上独立工作,并且是 docker 包所必需的。
9.无法正常停止docker进程
10.anolis8.6QU1 docker 安装
问题
(1) package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed,如果要安装高版本的话,可能会遇到新的问题:package docker-ce-3:26.1.4-1.el7.x86_64 requires containerd.io >= 1.6.24, but none of the providers can be installed
我的是CentOS8安装docker时报错,解决方法是升级 containerd.io,去官网查看最新版本containerd.io-1.2.13-3.1.el7.x86_64.rpm
1 | yum install -y wget |
【1】.CentOS 8.0 安装docker 报错:Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3
【2】.containerd.io-1.6.33-3.1.el7.x86_64.rpm 离线下载包
4.UOS 1020a安装Docker
信创云上安装了 UOS V20 1020a 版本:UniontechOS 20,就是无法安装 docker。
【尝试方案】
(1)尝试使用 清华源,尝试使用 阿里云的源,都不行。
(2)尝试自己写 docker-ce.repo,结果 这个总是链接不上:Timeout was reached for https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/repodata/repomd.xml
,但是我同样的在自己的网络中,是可以访问这个地址的。
1 | tee /etc/yum.repos.d/docker-ce.repo <<-'EOF' |
【解决方案】
(1)最后我还是只增加了清华的源,不知道服务器为什么对某几个地址有限制,就是无法使用 阿里云 的缘,就这么算了吧。
1 | tee /etc/yum.repos.d/docker-ce.repo <<-'EOF' |
增加完了清华的源,然后解决了这个 containerd.io-1.6.33-3.1.el7.x86_64.rpm 版本依赖的问题,最后终于可以安装 docker 26版本了。
(2)还有一种可能,就是这个DNS服务器的问题
1 | # 编辑 DNS 配置文件 |
【1】.UOS安装Docker 修改[docker-ce-stable]下的baseurl地址
【2】.在统信UOS V201050a上安装Docker 这里 UOS V201050a ,用的是 apt 管理。
【3】.CentOS7 安装 Docker-CE
【4】.【全平台】统信服务器操作系统安装Docker-CE 这里自定义了一个 docker-ce.repo,
【5】.国内已经无法按照脚本安装docker,有考虑优化安装策略么