도커에 안전하지 않은 레지스트리 추가
CentOS에서 도커 1.12를 실행하고 있습니다.보안되지 않은 레지스트리를 추가하려고 하는데 설명서에 언급된 것들이 작동하지 않습니다.시스템은 다음을 사용합니다.systemd
그래서 제가 만든 것은/etc/systemd/system/docker.service.d/50-insecure-registry.conf
파일.
$ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf
[Service]
Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"'
데몬을 로드하고 도커 서비스를 다시 시작하면 systemd에 환경 변수가 있음이 표시됩니다.
$ sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
하지만 내가 달릴 때docker info
안전하지 않은 레지스트리가 추가되지 않았습니다.
$ docker info
........
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
이미지 푸시 대상hostname.cloudapp.net
으로 실패함
Pushing application (hostname.cloudapp.net:5000/application:latest)...
The push refers to a repository [hostname.cloudapp.net:5000/mozart_application]
ERROR: Get https://hostname.cloudapp.net:5000/v1/_ping: http: server gave HTTP response to HTTPS client
뭔가 할 수 있는 일이 있습니까?내가 뭘 빼놓았나요?
갱신하다
파일을 추가하여 문제 해결/etc/docker/daemon.json
다음과 같은 내용으로
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
그런 다음 도커를 다시 시작합니다.
sudo systemctl daemon-reload
sudo systemctl restart docker
그 안전하지 않은 레지스트리 이후에hostname.cloudapp.net:5000
작동하다.
(질문의 답변 복사)
안전하지 않은 도커 레지스트리를 추가하려면 파일을 추가합니다./etc/docker/daemon.json
다음 내용을 포함합니다.
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
도커를 다시 시작합니다.
작성 중/etc/docker/daemon.json
파일을 작성하고 아래 내용을 추가한 다음 Cent에서 도커 재시작합니다.OS 7은 이 문제를 해결했습니다.
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
솔루션을 통한 솔루션을(를)/etc/docker/daemon.json
Ubuntu에서 파일이 작동하지 않았습니다.
Ubuntu에서 Docker 데몬에 명령줄 옵션을 제공하여 Docker의 안전하지 않은 레지스트리를 구성할 수 있었습니다./etc/default/docker
파일, 예:
# /etc/default/docker
DOCKER_OPTS="--insecure-registry=a.example.com --insecure-registry=b.example.com"
동일한 방법으로 도커 이미지 및 볼륨 스토리지, 기본 DNS 서버 등에 대한 사용자 지정 디렉토리를 구성할 수 있습니다.
이제 Docker 데몬이 다시 시작된 후(실행 후)sudo service docker restart
), 실행docker info
표시:
Insecure Registries:
a.example.com
b.example.com
127.0.0.0/8
Mac용
MacOS 데스크톱에서
- 상단의 메뉴 모음에서 도커 "고래" 아이콘을 클릭
- 선택한다.
"Preferences..."
Docker 바탕 화면 설정 창을 띄웁니다. - 다음을 선택합니다.
"Docker Engine"
- 여기에서 현재 사용 중인 내용의 JSON 발췌본이 표시됩니다.
daemon.json
파일. - JSON 객체의 가장 바깥쪽 수준에 다음에 대한 선을 추가합니다.
insecure-registries
제공합니다.ip.address.for.registry:port
상응하는 값으로 - 딸깍하는 소리
Apply and Restart
다음은 이 프로세스의 시각적 내용입니다.
이제 다음과 같은 명령을 실행할 수 있습니다.
$ docker build -t mysimpleapp .
$ docker tag mysimpleapp 172.16.0.65:30350/simple
$ docker push 172.160.65:30350/simple
> Using default tag: latest
The push refers to repository [172.16.0.65:30350/simple]
f5d693d2f2fe: Pushed
66d5de1853fa: Pushed
f317cd97a2b5: Pushed
d517aeda4ce5: Pushed
199d178b1757: Pushed
latest: digest: sha256:edde4d73130ef9c88d3d273ab4a727e0f8762f0d65802afb01f46eb6877d087c size: 2425
Ubuntu 20.04의 나에게 더 나은 방법은 systemd 서비스를 편집하는 것입니다.
/lib/systemd/system/docker.service
[Service](서비스) 뒤에 여기에 줄 추가
Environment=DOCKER_OPTS=--insecure-registry=10.0.0.10:6000
또는 sed를 사용하여 2개의 명령을 통해 자동으로 수행할 수 있습니다. [Service] 뒤에 줄을 추가합니다.
sed 's/\[Service\]/\[Service\] \nEnvironment=DOCKER_OPTS=--insecure-registry=10.0.0.10:6000/' /lib/systemd/system/docker.service > /lib/systemd/system/docker.service.tmp
mv /lib/systemd/system/docker.service.tmp /lib/systemd/system/docker.service
Mac에서. 소스
- 에 가다
~/Library/Containers/com.docker.docker/Data/database
- .git 저장소(.git)가 있습니다.
- HEAD로 재설정
git reset --hard
- 이제 당신은
com.docker.driver.amd64-linux
폴더 - 안으로 들어가기
~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker
- 저기 당신의 것
daemon.json
파일
아마존 리눅스 2에서 안전하지 않은 레지스트리를 추가하려는 사람: /etc/sysconfig/docker에서 설정을 변경한 다음 도커 데몬을 다시 시작해야 합니다. 내 /etc/sysconfig/docker는 다음과 같습니다.
# The max number of open files for the daemon itself, and all
# running containers. The default value of 1048576 mirrors the value
# used by the systemd service unit.
DAEMON_MAXFILES=1048576
# Additional startup options for the Docker daemon, for example:
# OPTIONS="--ip-forward=true --iptables=true"
# By default we limit the number of open files per container
OPTIONS="--default-ulimit nofile=1024:4096 --insecure-registry yourinsecureregistryhostname:port"
# How many seconds the sysvinit script waits for the pidfile to appear
# when starting the daemon.
DAEMON_PIDFILE_TIMEOUT=10
공식적인 도커 스크립트("편의 스크립트")를 통해 도커가 설치된 라즈비안/라스베리 파이에서 이 작업을 수행하는 데 약간의 문제가 있었습니다.로 인해 이 어떤이인구다있합니에 있어야 ./home/pi/.config/docker/daemon.json
서 그렇게 되어 있는지 /서디그렇구성왜있어는전모르습다니겠혀지되.
은 이은대에 입니다./etc/docker/daemon.json
모든 곳에서 됨 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅜㅜㅜㅜㅜㅜㅜㅜㅜ
저에게 있어 해결책은 여기에 레지스트리를 추가하는 것이었습니다.
/etc/sysconfig/syser-registics
DOCKER_REGISTRIES=''
DOCKER_EXTRA_REGISTRIES='--insecure-registry b.example.com'
아마존 리눅스에서 로컬 내부 JFrog Docker Private Registry를 설정한 후 유사한 문제가 발생했습니다.
문제를 해결하기 위해 수행한 작업은 다음과 같습니다.
"--insecure-registry xx.xx.xx.xx가 추가되었습니다./etc/sysconfig/docker 파일의 OPTIONS 변수를 수정하여 xx:8081":
OPTIONS="--default-ulimit nofile=1024:40961 --insecure-registry hostname:8081"
그런 다음 도커를 다시 시작했습니다.
그런 다음 다음을 사용하여 로컬 도커 레지스트리에 로그인할 수 있었습니다.
docker login -u admin -p password hostname:8081
있는 은 이config.json 파일과 .여기서registry.myprivate.com
저에게 문제를 일으켰던 것입니다.
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "xxxxxxxxxxxxxxxxxxxx=="
},
"registry.myprivate.com": {
"auth": "xxxxxxxxxxxxxxxxxxxx="
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/19.03.8 (linux)"
},
"insecure-registries" : ["registry.myprivate.com"]
}
를 작성/etc/docker/daemon.json
입니다.
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
개인 도커 레지스트리 생성에 대한 자세한 설명은 블로그 기사를 참조하십시오. https://geekdosage.com/how-to-create-a-private-docker-registry-in-ubuntu-20-04/
언급URL : https://stackoverflow.com/questions/42211380/add-insecure-registry-to-docker
'source' 카테고리의 다른 글
슬라이드 위/아래 애니메이션으로 보기 표시 및 숨기기 (0) | 2023.08.12 |
---|---|
VSTS: 빌드/릴리스 변수를 Powershell 스크립트 작업으로 전달 (0) | 2023.08.12 |
자바.java.java동시 수정maridb에 연결할 때 예외 발생 (0) | 2023.08.12 |
jQuery를 사용한 바로 가기 키 (0) | 2023.08.07 |
j선택기에 특정 클래스가 있는 요소 제외 쿼리 (0) | 2023.08.07 |