gpt4 book ai didi

docker - Ansible将容器部署到本地镜像的远程位置

转载 作者:行者123 更新时间:2023-12-02 19:18:04 25 4
gpt4 key购买 nike

我在本地实例上创建了镜像,想要从该镜像部署容器
这是我的剧本代码

  hosts: all
remote_user: root
become: yes
become_method: sudo
tasks:
- name: Install pip
apt: name=python3-pip state=present

- name: Running the container
docker_container:
name: tmep
image: ipdata:latest
pull: no

- name: Check if container is running
shell: docker ps

运行此剧本时,它向我发送此错误
FAILED! => {"changed": false, "msg": "Error pulling image ipdata:latest - 404 Client Error: Not Found (\"b'{\"message\":\"pull access denied for ipdata, repository does not exist or may require \\'docker login\\': denied: requested access to the resource is denied\"}'\")"}

所以我的问题是
  • 是否可以
  • 还是我需要复制远程上的所有文件,然后创建镜像,然后根据该镜像创建容器
  • 如果某人共享一个示例代码,该示例代码将创建镜像然后部署容器,那就太好了。
  • 最佳答案

    您需要一个docker注册表,只需执行以下操作:

    第一:在您的机器上添加一个docker register。

    docker run -d -p 5000:5000 --restart always --name registry registry:2

    第二:将镜像推送到本地主机。
    docker tag ipdata:latest localhost:5000/ipdata:latest 
    docker push localhost:5000/ipdata:latest
    localhost上的命令只是将您的docker镜像推送到计算机上的docker注册表中。
    假定您的计算机ipaddress为10.10.1.12,然后在服务器端运行命令blow。

    rid:拉它
    docker pull 10.10.1.12:5000/ipdata:latest

    如果您在不使用https的情况下使用它,也许您会遇到问题:
    Private registry push fail: server gave HTTP response to HTTPS client

    只是流解决方案的打击,以更改服务器端的docker客户端配置。一切都会安好的。
    https://github.com/docker/distribution/issues/1874#issuecomment-237194314

    关于docker - Ansible将容器部署到本地镜像的远程位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62056609/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com