Docker打包conda环境+代码并上传至Docker Hub【denied: requested access to the resource is denied】

究极缝合怪!

记录Docker打包conda环境+代码&上传至自己的Docker hub

1、从安装Docker开始

  1. 安装yum工具

    yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken

  2. 设置docker镜像源

    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

    yum makecache fast

  3. 安装Docker

    yum install -y docker-ce

  4. 先输入:sudo systemctl start docker,再输入:sudo systemctl enable docker

    sudo systemctl start docker

    sudo systemctl enable docker

Docker安装over

2、将Conda项目打包成镜像

  1. 先安装一个miniconda基础的镜像

    docker pull continuumio/miniconda3

  2. 进入容器

    docker run --name test -idt continuumio/miniconda3

    -idt中的 -d 指定容器的运行模式,让docker 服务后台运行。

  3. 查看一下容器列表

    docker ps -a

  4. 进入test容器,查看conda位置

    docker exec -it test /bin/bash

    查看conda位置:conda info --envs

    查看完后接着退出容器:exit

  5. 在本地环境中将本地环境复制到docker中

    退出容器后,在本地环境中将需要打包的本地复制到docker中

    docker cp /root/miniconda3/envs/你的conda环境 test:/opt/conda/envs

    • /home/b/miniconda3/envs/pipe 是自己需要打包的本地环境
    • test是容器名,/opt/conda是在容器内conda的根目录。
  6. 着再进入容器 查看环境是否复制成功

    docker exec -it test /bin/bash

    conda info --envs

    exit

  7. 在本地环境中将本地代码复制到docker中

    退出容器后,在本地环境中将需要打包的代码复制到docker中

    docker cp /data/代码路径 test:/root/

    docker exec -it test /bin/bash

    ls /root/

    exit

  8. 将容器保存为镜像

    docker commit -a '你的名字' -m '代码描述' test image_test

    • -a:作者
    • -m:提交的描述信息
    • test:容器名字
    • image_test:保存的镜像的名字
  9. 将镜像存为压缩包【这步可以直接把压缩包给另一个机器,不走docker hub】

    docker save -o test_tar.tar image_test

    • test_tar.tar:压缩包名称
    • image_test: 镜像名称

读取镜像【如果是用压缩包的话,就是上面的第9步才看这里】

  1. 将打包好的镜像压缩包拷贝到宿主机上。

  2. cd 到压缩包目录,执行:

    docker load -i test_tar.tar

  3. 用image_test镜像创建一个名为create_test的容器:
    docker run --name create_test -idt image_test

  4. 如果需要容器内文件与容器外文件做映射,则用以下指令创建容器:
    docker run --name create_test -v /home/path:/root/ -idt image_test
    -v 宿主机路径 容器路径:该指令可以在创建容器时宿主机路径映射到容器路径。这样可以在容器内直接访问宿主机的文件夹。

  5. 进入容器:docker exec -it create_test /bin/bash

上传镜像

  1. 登陆Docker Hub :

    用户在 Docker Hub 上完成注册后,创建一个repository。
    在这里插入图片描述

    然后在命令行中进行登陆

    docker login -u <用户名>

    成功显示:Login Succeeded

    退出: docker logout

  2. 给本地镜像打tag

    docker tag 镜像名字和标签

    docker tag local-image:tagname new-repo:tagname

    附上删除镜像的命令:docker rmi <image>

  3. 上传镜像

    用户可以通过 docker push 命令,把自己创建的镜像上传到仓库中来共享。

    docker push new-repo:tagname

    这步可能会出现【denied: requested access to the resource is denied】这个问题

    有可能的解决方法是:1、重新login一下 2、确定自己在docker hub创建了repository,然后tag要和创建的repository名一样,可以参考docker hub官网给的提示:在这里插入图片描述
    3、网不好的话多试几次,万一网好了呢

Over!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
163 docker pull denied: requested access to the resource is denied是一个错误消息,意味着您被拒绝访问资源。根据所提供的引用内容,存在几种可能的原因和解决方法。首先,可能是由于镜像名称未按照正确格式命名导致的错误。请确保镜像名称按照正确的格式命名,并检查是否存在其他拼写错误或语法错误。 其次,您可能没有正确的权限来运行docker push命令或其他docker命令。请确保您作为docker用户具有正确的权限和访问凭据。您可以检查docker hub凭据是否正确,并确保您具有适当的访问权限。 最后,这种错误可能发生在尝试将映像推送到存储库时。在创建docker镜像后,可能会发生此类错误。请确保您已正确配置docker,并且已经遵循了正确的推送步骤。如果问题仍然存在,您可能需要与相关的技术支持或社区寻求进一步的帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker push报错 :denied: requested access to the resource is denied](https://download.csdn.net/download/weixin_38748740/14042426)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker push时报错:Docker denied: requested access to the resource is denied的解决办法](https://blog.csdn.net/weixin_39589455/article/details/127892838)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值