我在本地实例上创建了映像,想要从该映像部署容器 这是我的剧本代码
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\"}'\")"}
所以我的问题是
答案 0 :(得分:1)
您需要一个Docker注册表,只需执行以下操作:
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。
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