【Docker】deepin/ubuntu/centos安装docker
deepin虚拟机和centos服务器安装docker
1.更新软件包
1 | # deepin |
安装docker之前,先更新一下软件包。在deepin中执行更新命令的效果如下。
1 | mothra@mothra-PC:~$ sudo apt-get update && sudo apt-get upgrade |
2.安装docker
如下给出的安装命令在 deepin v20.9 和 centos8 上测试通过
1 | # deepin |
启动docker服务
1 | systemctl start docker |
安装之后,用如下命令看看版本,看看是否安装成功;出现版本号就是安装完毕了。
1 | $ docker -v |
如下就是安装成功了,docker命令能显示出版本号,docker-compose命令也是正常的。
开机自启动docker服务
1 | systemctl enable docker # 开机自启 |
2.1 在Ubuntu22.04LTS上安装docker
上面给出的apt安装命令实测在 deepin V20.9
下可用,但是在Ubuntu下不可用。
参考该博客在ubuntu中安装:容器与云|如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose
1 | # 开始前先更新软件源 |
上述命令在WSL2的Ubuntu 22.04.03 系统中测试通过,成功安装docker。
1 | ❯ docker -v |
ubuntu上docker-compose的安装参考本文2.3.2中的命令,实测可用。
1 | ❯ docker-compose -v |
2.2 centos8安装报错找不到docker软件包
在centos8上安装docker的时候,发现找不到docker的相关信息
1 | # sudo yum install docker-ce docker-ce-cli containerd.io |
这是因为我们没有docker的软件源。依照如上博客中的教程,执行如下命令(上方的安装命令中已包含这些命令,此处写出来是告知添加这些命令的原因)
1 | # 下载软件源 |
这样就能安装成功了,执行docker version
命令查看版本,出现如下内容就是成功安装docker了。
1 | > docker version |
2.3 安装docker-compose
2.3.1 使用python安装(可能失败)
需要保证系统内的python环境完好
1 | pip3 install -i https://mirrors.aliyun.com/pypi/simple docker-compose |
安装好了之后查看版本,如下便是安装成功了
1 | $ docker-compose version |
参考 https://www.cnblogs.com/yizhangheka/p/16614941.html
但在我的CentOS8上,上面的python安装方式会失效;我使用的是python3.10.6
,安装会出现如下报错,无法成功安装;
1 | File "<string>", line 201, in get_source_files |
2.3.2 从Github安装可执行文件
参考博客
然后又找了些博客,可以使用如下命令,直接下载docker-compose的可执行文件安装。
1 | sudo curl -L "https://github.com/docker/compose/releases/download/v1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
安装完毕后的测试结果如下,也是OK的
1 | # docker-compose -v |
但是这个安装的版本实在是太老了,最新版本都已经到2.23.0了。又在想办法找最新版本的安装教程;我尝试修改上述curl命令中的版本号,但好像没有用。
其实这里的问题在于链接中版本号之前少了一个v,加上去之后就可以了。下面是我当时找到正确下载链接的过程,思路可供参考。
还是得用老办法,先打开github的release页面,找找可执行文件的下载地址:github.com/docker/compose/releases
这时候我发现上述的curl安装命令其实本质上就是下载一个可执行文件。在CentOS8上,uname -s
是linux
,uname -m
是x86_64
,命令执行结果如下;
1 | > uname -s |
所以其实我们需要下载的是docker-compose-linux-x86_64
这个文件,对应下图中红色箭头所指的位置
右键该文件,即可复制文件下载地址
1 | https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 |
找到最新版本的文件url了,将其用相同的方式下载下来不就行了?
1 | sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose |
如果github下载实在是太慢,可以尝试用github的代理地址下载;截至20231028,该代理地址的下载速度很快,完全可用。
1 | sudo curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose |
安装完成,当前v2.23.0最新版本搞定!
1 | > docker-compose --version |
实测该方式在Ubuntu22.04虚拟机上也可用。
3.修改docker镜像源
国内下载docker的images有时候很慢,所以需要我们修改镜像源。可以打开下面这个网站
1 | https://www.daocloud.io/mirror#accelerator-doc |
额,写博客这天的时候,他们的服务502了。打不开网站。
用如下办法修改镜像源
1 | sudo vim /etc/docker/daemon.json |
进入该文件后,按i
进入编辑模式,复制如下内容,用shift+ins
粘贴到文件内
1 | { |
然后:wq
退出,用如下命令重启docker服务,镜像就设置好了
1 | sudo systemctl restart docker |
国内可用的docker镜像有下面这些,更多镜像可以百度看看。南京大学和上海交大的镜像源用的人少,更好用。之前有一段时间docker国内的镜像都挂了,基本没办法pull,现在应该是解决了。
1 | 科大镜像:https://docker.mirrors.ustc.edu.cn/ |
4.一些docker常用命令
因为当前我们用的是deepin的用户,而不是root,所以执行docker相关命令的时候都需要带上sudo
1 | sudo docker ps # 查看当前正在运行的容器 |
docker-compose的操作需要根据docker-compose.yml
进行,具体的请参考不同容器的yml文件编写和使用。一般用户量大的开源docker都会有docker-compose.yml
的示例文件的!
docker-compose 升级容器镜像
如下就是一个部署memos服务的简单docker-compose.yml
文件,使用的镜像版本是latest;
1 | version: "3.0" |
假设你需要升级这个docker的容器镜像版本,应该采用如下命令来操作
1 | sudo docker-compose stop # 停止当前容器运行 |
另外一个办法就是将yml文件中的latest改成最新docker镜像版本的版本编号,再执行docker-compose up -d
来运行,此时也会自动pull指定版本的镜像并启动docker容器。
注意:升级容器镜像之前,请备份当前容器的配置、资源文件夹,避免升级失败时某些文件被新镜像修改而无法回退旧版本!备份了容器的配置文件夹,至少升级失败还能保证旧版本可以正常使用。
另外,如果你使用的是latest来拉取镜像,那么在升级版本之前请记录下升级之前使用的容器版本号(非latest的数字版本号,一般在容器内的服务/前端页面中都能看到当前的版本号),方便后续回退到能正常使用的旧版本。
The end
其他的docker操作,请根据特定容器进行操作,详情百度吧!
有任何问题,欢迎评论区交流!