基础知识
- 一般使用的是 https://hub.docker.com 虽然免费,但是不是太大方,无限公共存储,但是只有1个免费私有存储,不过不需要KYC,你愿意也可以多撸就是
- 在该网站和docker使用过程中,命名空间类比到GitHub就是用户名,用户名类比到GitHub就是邮箱或者用户名,仓库名就是仓库名(有询问命名空间的时候不需要带用户名,否则建议带用户名)。
- 比如 superng6/bilibili-helper:1.1.5 中 superng6就是命名空间,bilibili-helper是仓库名,1.1.5是tag或者也叫版本号,登陆用的用户名可能是邮箱或者superng6或者其他
手搓基础命令
docker push
顾名思义,就是把本地库推送到远程。比如 docker push superng6/bilibili-helper:1.1.5
docker pull
顾名思义,就是把远程库拉到本地。比如 docker pull superng6/bilibili-helper:1.1.5
docker tag
重新命名和标记本地镜像。比如 docker tag superng6/bilibili-helper:1.1.5 blueskyxn/sky-docker-backup:bilibili-helper-1.1.5
docker images
查看本地镜像
docker ps
查看本地运行的容器
docker rm、docker stop
移除、停止本地容器
docker login、docker logout
登陆退出docker账号
其它
输入docker可以查看其他命令,基本上掌握上面这些使用就没问题了
打包备份镜像
首先要注意容器和镜像的区别,简单来说,容器是活的,镜像是死的,容器类比是运行中的虚拟机,镜像类比是虚拟机的本地文件
所以对容器来说要先生成镜像再备份,这一步可以用 docker commit 容器名 镜像仓库:镜像标签
也可以用docker管理器的生成镜像,生成好之后即可到镜像管理查看
在docker管理器中的镜像导出,可以快捷打包、下载、导入镜像,十分适合小白进行本地备份
远程备份镜像
打包毕竟要一个个上传、再解压,不是很方便分发、分享,这时候可以考虑使用远程备份镜像到docker官网库
首先要登陆仓库,选“Docker仓库”,然后名称是自定义的,可以填仓库名,其他请看上文的基础知识
如果命名空间没填就会导致无法上传
可直接把镜像推送上去,直接选择登陆好的仓库,写一个版本号即可
也可以手搓,方法为先 tag一下,比如 docker tag superng6/bilibili-helper:1.1.5 blueskyxn/sky-docker-backup:bilibili-helper-1.1.5 再docker push上去
没有带用户名(命名空间)就会如图所示,没有权限,所以要写全
然后去官网查看即可,tag并非要数字,你可以用字母,把多个库备份放在一起
恢复镜像
手搓docker pull或者管理器拉库都行,大部分docker程序的本地配置文件都在其根目录的yml文件 或者 config.json中,自己找找
很多程序用的是latest,不一定是最佳,尤其是大更新,可以用superng6/bilibili-helper:1.1.5这样的方法来指定tag用旧版本