Không thể kéo / đẩy hình ảnh sau khi cập nhật docker lên 1.12


86

Sổ đăng ký riêng đã hoạt động tốt dựa trên docker 1.10.3, nhưng tôi không thể kéo / đẩy hình ảnh sau khi cập nhật docker lên 1.12.0.

Tôi đã sửa đổi / etc / sysconfig / docker thành:

OPTIONS='--selinux-enabled=true --insecure-registry=myip:5000'

hoặc là

OPTIONS='--selinux-enabled=true --insecure-registry myip:5000'

nhưng khi tôi thực hiện pull / push, tôi gặp lỗi này:

$ docker pull myip:5000/cadvisor
Using default tag: latest
Error response from daemon: Get https://myip:5000/v1/_ping: http: server gave HTTP response to HTTPS client

khi tôi thay đổi lại docker thành 1.10.3, nó vẫn hoạt động tốt như bên dưới:

$ docker pull myip:5000/cadvisor
Using default tag: latest
Trying to pull repository myip:5000/cadvisor ... 
latest: Pulling from myip:5000/cadvisor
09d0220f4043: Pull complete 
a3ed95caeb02: Pull complete 
151807d34af9: Pull complete 
14cd28dce332: Pull complete     
Digest:
sha256:33b6475cd5b7646b3748097af1224de3eee3ba7cf5105524d95c0cf135f59b47
Status: Downloaded newer image for myip/cadvisor:latest

Một số thông tin tương đối được liệt kê dưới đây:

docker version
Client:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built:

OS/Arch: linux/amd64

Server:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built:

OS/Arch: linux/amd64

docker info
Containers: 4
Running: 1
Paused: 0
Stopped: 3
Images: 241
Server Version: 1.12.0
Storage Driver: devicemapper
Pool Name: docker-253:0-6809-pool
Pool Blocksize: 65.54 kB
Base Device Size: 107.4 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 5.459 GB
Data Space Total: 107.4 GB
Data Space Available: 34.74 GB
Metadata Space Used: 9.912 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.138 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use '--storage-opt dm.thinpooldev' to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host overlay null bridge
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 24
Total Memory: 62.39 GiB
Name: server_3
ID: TITS:BL4B:M5FE:CIRO:5SW6:TVIV:HW36:J7OS:WLHF:46T6:2RBA:WCNV
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 21
Goroutines: 32
System Time: 2016-08-02T10:33:06.414048675+08:00
EventsListeners: 0
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
127.0.0.0/8

docker exec <registry-container> registry -version
registry github.com/docker/distribution v2.2.1

Sau khi tôi khởi động lại trình nền docker ở chế độ gỡ lỗi, nhật ký daemon khi tái tạo sự cố của tôi được liệt kê bên dưới:

DEBU[0794] Calling POST /v1.24/images/create?fromImage=10.10.10.40%3A5000%2Fcadvisor&tag=latest 
DEBU[0794] hostDir: /etc/docker/certs.d/10.10.10.40:5000 
DEBU[0794] hostDir: /etc/docker/certs.d/10.10.10.40:5000 
DEBU[0794] Trying to pull 10.10.10.40:5000/cadvisor from https://10.10.10.40:5000 v2 
WARN[0794] Error getting v2 registry: Get https://10.10.10.40:5000/v2/: http: server gave HTTP response to HTTPS client 
ERRO[0794] Attempting next endpoint for pull after error: Get https://10.10.10.40:5000/v2/: http: server gave HTTP response to HTTPS client
DEBU[0794] Trying to pull 10.10.10.40:5000/cadvisor from https://10.10.10.40:5000 v1 
DEBU[0794] hostDir: /etc/docker/certs.d/10.10.10.40:5000
DEBU[0794] attempting v1 ping for registry endpoint https://10.10.10.40:5000/v1/
DEBU[0794] Fallback from error: Get https://10.10.10.40:5000/v1/_ping: http: server gave HTTP response to HTTPS client 
ERRO[0794] Attempting next endpoint for pull after error: Get https://10.10.10.40:5000/v1/_ping: http: server gave HTTP response to HTTPS client
ERRO[0794] Handler for POST /v1.24/images/create returned error: Get https://10.10.10.40:5000/v1/_ping: http: server gave HTTP response to HTTPS client 
DEBU[1201] clean 2 unused exec commands

Hơn nữa, tôi chỉ chạy một lệnh đơn giản để khởi chạy sổ đăng ký riêng để kiểm tra, mọi thứ khác theo mặc định:

docker run -d -p 5000:5000 --restart=always --name registry -v 'pwd'/data:/var/lib/registry registry:2

Không có proxy nào được định cấu hình. Tóm lại, nó chỉ là một môi trường mẫu yên tĩnh để thử nghiệm.


tốt, tôi cũng gặp phải lỗi tương tự, nhưng điều kỳ lạ là tôi không có tệp / etc / sysconfig / docker trong RHEL 7, bạn có biết tệp nào tương tự mà tôi có thể tìm thấy không? nội dung của tệp docker này là gì? Cảm ơn bạn.
sai

Tệp này bao gồm một số tùy chọn nếu bạn muốn thay đổi cách chạy trình nền của docker. Tôi không biết con đường chính xác trong RHEL7 .Nhưng nếu bạn exec với lệnh "$ sudo xác định vị trí Docker", bạn sẽ tìm thấy các tập tin trong một nơi nào
yuxiaoyu

Tôi đã kết thúc việc xóa /etc/docker/daemon.json và khởi động lại dịch vụ docker, có vẻ như nó đang ghi đè những gì đã được thiết lập trong / etc / sysconfig / docker
Max Barrass

Đối với người dùng MacOS, hãy xem câu trả lời này: stackoverflow.com/a/39492340/706521
Adrian Forsius

Câu trả lời:


222

Tôi gặp vấn đề tương tự.

Điều này đã giúp tôi:

  • Tạo hoặc sửa đổi /etc/docker/daemon.json trên máy khách

    { "insecure-registries":["myregistry.example.com:5000"] }

  • Khởi động lại trình nền docker

    sudo /etc/init.d/docker restart


7
Trong trường hợp của tôi, tôi sử dụng Ubuntu 16.04 và / etc / default / docker (nơi cấu hình của tôi là) dành riêng cho phiên bản mới nổi. 16.04 sử dụng systemd. /etc/docker/daemon.json là cấu hình độc lập với nền tảng. github.com/docker/docker/issues/23512 github.com/docker/docker/issues/23228
bojtib

1
Đây là tài liệu hướng dẫn làm thế nào để thiết lập không an toàn registry docs.docker.com/registry/insecure
Ivailo Bardarov

6
Tạo /etc/docker/daemon.jsontệp nếu không có. Cụ thể choUbuntu 16.04
deepdive

Bất cứ ai có bất kỳ thông tin cho MacOS?
Adrian Forsius

điều này đã giúp tôi khi tôi cài đặt docker V17.x. Nó bằng cách nào đó không làm việc khi tôi đã có docker.io v1.x
node_man

23

Đối với người dùng Windows

Thêm đăng ký cục bộ tại đây và áp dụng:

nhập mô tả hình ảnh ở đây


7

Đối với người dùng Mac: Cập nhật tùy chọn docker bằng biểu tượng (docker) ở thanh trên cùng

Preferences -> Daemon -> Insecure Registry [Nhấn vào dấu (+)] -> add: port

nhấn nút "Áp dụng & Khởi động lại" ở dưới cùng

Pic hiển thị cửa sổ tùy chọn Docker


6

Tôi cũng gặp sự cố tương tự và đã làm theo các bước sau:

1. Tạo tệp

 vi /etc/docker/daemon.json

2. Thêm nội dung bên dưới

{
        "insecure-registries":["192.168.1.142:5000"]
 }

3. khởi động lại Docker

service docker restart

3

Nếu bạn đang sử dụng Windows và gặp lỗi này, bạn cần tạo tệp tại đây: "C:\ProgramData\docker\config\daemon.json"

và làm tương tự như @Bspec đã đề cập ở trên:

{"secure-registerries": ["myregistry.example.com:5000"]}

Sau đó, khởi động lại docker bằng các lệnh PowerShell:

Stop-Service docker
Start-Service docker

2

sửa đổi "/etc/docker/daemon.json" không hiệu quả với tôi.

Đặt nó dưới "/ etc / sysconfig / docker" như bên dưới, đã hoạt động.

INSECURE_REGISTRY = "- đăng ký không an toàn 192.168.24.1:8787"


Cảm ơn vì đã cho chúng tôi xem --insecure-registrytùy chọn. Trong trường hợp của tôi, nó thậm chí còn là một tệp khác /etc/systemd/system/docker.service.d/docker-options.confvì tôi đang sử dụng Kubespray. Vì vậy, đối với những người khác: bạn cần tìm DOCKER_OPTSthông số của mình . Chỉ cần sử dụng tìm kiếm này: grep -ER DOCKER_OPTS /etctrên toàn bộ /etcthư mục. Trong trường hợp cụ thể của tôi, để thực hiện cài đặt có hiệu quả tôi đã làm: systemctl daemon-reload, systemctl restart dockerps -ef | grep dockerdtrên Ubuntu.
laimison

1

Để đẩy , hãy thêm ip vào sổ đăng ký không an toàn ở phía máy khách (ví dụ: đối với Windows)

nhập mô tả hình ảnh ở đây

Để kéo , hãy thêm nó vào phía máy chủ (trong trường hợp này là Ubuntu)

vim /etc/docker/daemon.json

nhập mô tả hình ảnh ở đây

và sau đó khởi động lại Docker.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.