Docker基本安装教程+portainer+更改镜像存储路径

Docker安装

第一步:在docker官网下载对应版本

Docker: Accelerated Container Application Development

在这里插入图片描述

点击右上角Docs,在左侧下拉Docker Desktop-Setup-Install 可以在里面寻找适合自己操作系统的安装包。Mac电脑安装解压即可,linux安装方式较多,推荐使用yum等包管理器安装,具体可以参考官方文档的安装教程。接下来介绍windows安装教程

在这里插入图片描述

第二步:开启windows功能

Windows安装Docker需要提供Linux环境,即需要开启Hyper-v或虚拟机平台&适用于Linux的windows系统功能(这种实现需要提前配置wsl2,当然也要安装对应的linux发行版,可以寻找相关教程或参考Microsoft提供的文档),这里可以在控制面版的程序-启用或关闭windows功能处开启:

在这里插入图片描述

windows家庭版通常不会有Hyper-v和虚拟器平台二者选项,以下是根据ai提供的开启教程(win11家庭版亲测有效)

开启虚拟机平台:

使用管理员权限打开power shell,然后输入以下指令:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
开启Hyper-v:

同样是在power shell:

Get-ChildItem -Path $env:SystemRoot\servicing\Packages -Filter *Hyper-V*.mum | Select-Object -ExpandProperty Name | Out-File -FilePath .\hyper-v.txt

foreach ($package in Get-Content -Path .\hyper-v.txt) {
    dism /online /norestart /add-package:"$env:SystemRoot\servicing\Packages\$package"
}

Remove-Item -Path .\hyper-v.txt

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

Read-Host -Prompt "按任意键继续..."

重启后就能生效。

第三步:运行Docker Desktop安装包

在配置阶段据说有勾选"Use WSL2 instead of Hyper-V"选项,勾选这个选项表示使用wsl2来实现docker,否则使用hyper-v。(但本人没有遇见这个界面,因为提前配置了WSL2,直接安装后同样有可视化界面)

第四步:配置镜像加速

以下方法基于docker desktop:在setting-Docker Engine中添加配置项

"registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://docker.1ms.run"
  ]

这只是个示例,其中可以配置多个镜像源,如果原来使用的镜像源过期了无法加速,更换另一个即可,配置效果如下:

在这里插入图片描述

可用镜像源检测网站:https://status.1panel.top/status/docker

基础用法与指令

起步指令

在安装好docker之后,直接使用cmd即可执行docker命令,最基础的拉取命令结构如下:

docker run [Opitions] image [command] [arg...]

#常见opition有:-a(指定标准输入输出类型) -d(后台运行容器,并返回id) -P(随机端口映射) -p(指定端口映射,格式:主机端口:容器端口) --name="name"(为容器指定名称) -v,--volume(绑定卷)
#image是镜像文件

容器管理

docker ps [-a]#目前正在运行的容器列表,加上-a会列出所有容器,包括停止容器
docker stop id/name #停止指定容器
docker start id/name #拉起指定容器
docker restart id/name #重启指定容器
dokcer rm id/name #删除指定容器

镜像基础管理

管理镜像有四种常见操作:

1.使用以下命令

docker pull 仓库名/镜像名 

可以在dockerhub上拉取指定仓库里的指定镜像,然后通过上文的run指令来运行容器(具体指令需根据具体需求调制,可以参考ai)

2.使用镜像作者提供的tar文件导入

#导出为tar文件
docker save 镜像id > xxxx.tar
#导入tar文件
docker load < xxxx.tar

3.使用dockerfile来生成镜像

dockerfile是面向开发的构建文件,通过他可以构建生成镜像,常见命令有:

#基础镜像源,从此构建
from
#镜像维护者信息
maintainer
#镜像构建需要运行的命令
run
#添加内容,可自动解压
add
#镜像的工作目录
workdir
#挂载卷
volume
#对外指定端口
expose
#指定容器启动时运行的命令,只有最后一个命令会生效,可被替代
cmd
#和cmd类似,可以追加命令
entrypoint
#类似add,将文件拷贝到镜像
copy
#构建时设置环境变量
env

4.将容器保存为镜像

docker commit id name

同样,我们可以使用指令来查看本地的所有镜像

docker image ls

也可以使用指令来删除镜像

docker rmi name/id

Portainer

Docker的一个可视化页面,可以方便的查看容器及其状态,也可以执行拉取镜像的指令。

配置方法:直接在cmd执行

docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.3-alpine

即可成功拉取到portainer。

在本地主机可直接输入localhost:9000来查看是否成功(有时会出现报错提示restart portainer才能继续,照做即可)

在这里插入图片描述

local代表的就是本地主机,进入后即可对容器进行管理和操作

默认镜像存储路径更改

新版本旧方法失效

一开始没注意这个问题,直到在做项目的时,在本地用compose文件部署开发环境的时候,发现镜像拉不下来了,一检查发现是磁盘空间不够了,才发现c盘不知不觉就被挤满了。于是我就去网上搜教程:发现使用wsl2实现的docker更改存储位置的方法基本都是通过重新导入data文件到其他盘来实现的,即使用类似于下面的指令:

wsl --export docker-desktop-data "F:\wsl\docker-data\docker-desktop-data.tar"

但是我后来发现我的docker根本找不到data文件,使用上面的指令也运行不了,在网上找了很久也没找到相应的解决方法。

在这里插入图片描述

要么就是让在docker engine文件里加入data-root设置的,但依旧没能解决问题。

成功更改!

直到后来,在翻b站时,发现很多人和我遇到了一样的问题,而新版本docker_data的路径应该在"C:\Users\用户名\AppData\Local\Docker\wsl\disk"下面。但是问题还是没有解决,直接手动移动整个文件夹并不能成功更改存储路径,还直接让docker engine炸掉了。于是最终,我去查阅官方文档才知道,新版docker直接在Setting->Advanced里就可以直接更改镜像的存储路径。(之前在某个地方似乎听说过在setting里更改没有作用,但我实操之后确实成功了)

在这里插入图片描述

更改后的docker_data路径:

在这里插入图片描述

当然以上操作都是基于windows+wsl2的方法,其他操作系统暂时没使用过,但应该网上提供的教程也比较全面,不会像这样这么麻烦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值