Docker学习3 - 镜像上传及导入导出

镜像上传

1. 注册 Docker hub 账号

上传镜像到DockerHub前,需要在DockerHub上注册账号。注册步骤可参考:注册 docker hub 的账号

2. Linux 登录 Docker hub 账号

有了Docker Hub账号后就可以进行登陆

docker login [OPTIONS] [SERVER]

options 说明

options作用
-u账号
-p密码
–password-stdin通过 STDIN 提供密码
3.给镜像设置 TAG

作用

  • 给本地镜像打一个标记(tag),可将其归入某一仓库
  • 有点像 Git 里面给不同时段写的代码打不同的 tag 一样
    语法格式
docker push [OPTIONS] NAME[:TAG]

options 说明

options作用
–disable-content-trust忽略镜像的校验,默认开启

案例

docker push poloyy/jenkins

重点:

poloyy/jenkins ,为什么会起这个名字,因为 poloyy 是我在 Docker Hub 注册的账号名(Docker ID)
如果前面不写存在的账号名(需要已登录),或者写了但没有 docker login 登录这个账号的话,均会报权限错误的问题哦

权限错误解决方案

docker push 的时候报错:denied: requested access to the resource is denied

可参考:https://www.cnblogs.com/poloyy/p/13985034.html

访问https://hub.docker.com/,登录自己的账号能看到刚刚上传的镜像,此时这个镜像是公开的,你可以在其他地方进行拉取

docker pull poloyy/jenkins

导出和导入

持久化docker的镜像或容器的方法
Docker的镜像和容器可以有两种方式来导出

docker save #ID or #Name
docker export #ID or #Name

docker save和docker export的区别

  • 对于Docker Save方法,会保存该镜像的所有历史记录
  • 对于Docker Export 方法,不会保留历史记录,即没有commit历史
  • docker save保存的是镜像(image),docker export保存的是容器(container);
  • docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
  • docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。
1.save命令

语法格式

docker save [options] images [images...]

options 说明

名称默认值描述
–output , -o写到指定的文件中,而不是标准输出流上

示例

docker save -o nginx.tar nginx:latest 

docker save > nginx.tar nginx:latest 

其中-o>表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)

2.load命令

语法格式

docker load [options]

options 说明

名称默认值描述
–input , -i从文件加载而不是从标准输入流
–quiet , -q不显示输出信息

示例

docker load -i nginx.tar

docker load < nginx.tar

其中-i<表示从文件输入。会成功导入镜像及相关元数据,包括tag信息

3.export命令

语法格式

docker export [options] container

options 说明

option说明
-o将输入内容写到文件

示例

docker export -o nginx-test.tar nginx-test

#导出为tar

docker export #ID or #Name > /home/export.tar

其中-o>表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)

4.import命令

语法格式

docker import [options] file|URL|- [REPOSITORY[:TAG]]

options 说明

option说明
-m提交时的说明文字
-c将Dockerfile指令应用于创建的映像

示例

docker import nginx-test.tar nginx:imp

cat nginx-test.tar | docker import - nginx:imp
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值