운영 및 유지보수 리눅스 운영 및 유지 관리 Linux 서버에서 안전하고 안정적인 Docker 이미지 웨어하우스를 구축하는 방법은 무엇입니까?

Linux 서버에서 안전하고 안정적인 Docker 이미지 웨어하우스를 구축하는 방법은 무엇입니까?

Jul 28, 2023 pm 08:16 PM
linux docker 거울창고

Linux 서버에서 안전하고 안정적인 Docker 이미지 웨어하우스를 구축하는 방법은 무엇입니까?

컨테이너 기술의 급속한 발전으로 Docker는 컨테이너화된 애플리케이션을 구축하고 관리하기 위한 일반적인 도구가 되었습니다. 그러나 실제 응용에서는 안전하고 안정적인 Docker 이미지 웨어하우스를 어떻게 구축하느냐가 중요한 문제입니다. 이 기사에서는 Linux 서버에서 안전하고 안정적인 Docker 이미지 웨어하우스를 구축하는 방법을 소개하고 참조용 코드 예제를 제공합니다.

  1. Docker 설치

먼저 Linux 서버에 Docker를 설치해야 합니다. 다음 명령을 통해 설치할 수 있습니다.

$ sudo apt-get update
$ sudo apt-get install docker-ce
로그인 후 복사

설치가 완료된 후 다음 명령을 실행하여 설치 성공 여부를 확인합니다.

$ docker version
로그인 후 복사
  1. Docker 이미지 웨어하우스 구성

다음으로 Docker를 구성해야 합니다. 이미지 창고. Docker의 공식 레지스트리 이미지 또는 Harbor, Nexus 등과 같은 타사 오픈 소스 이미지를 사용하도록 선택할 수 있습니다.

공식 Docker Registry 이미지를 예로 들면 다음 명령을 통해 레지스트리 컨테이너를 시작할 수 있습니다.

$ docker run -d -p 5000:5000 --name registry registry:latest
로그인 후 복사

시작이 완료된 후 다음 명령을 통해 레지스트리가 제대로 작동하는지 확인할 수 있습니다.

$ curl http://localhost:5000/v2/_catalog
로그인 후 복사

If 빈 배열이 [] 로 반환되어 레지스트리가 성공적으로 실행되었음을 나타냅니다. [],说明Registry已经成功运行。

  1. 配置镜像仓库的认证和授权

为了保证镜像仓库的安全,需要添加认证和授权功能。可以使用Nginx作为反向代理服务器,并使用Basic Auth认证方式。

首先,安装Nginx:

$ sudo apt-get install nginx
로그인 후 복사

然后,创建一个用于存放认证信息的密码文件:

$ sudo sh -c "echo -n 'admin:' >> /etc/nginx/.htpasswd"
$ sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
로그인 후 복사

创建完成后,需要编辑Nginx配置文件/etc/nginx/sites-available/default,添加如下内容:

server {
    listen 80;
    server_name <your-domain-name>;

    location / {
        proxy_pass http://localhost:5000;

        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
로그인 후 복사

替换<your-domain-name>为你的域名。

保存配置文件并重启Nginx:

$ sudo systemctl restart nginx
로그인 후 복사
로그인 후 복사
  1. 配置HTTPS支持

为了保证通信的安全性,可以使用HTTPS协议进行通信。需要先为镜像仓库生成自签名证书。

首先,安装OpenSSL:

$ sudo apt-get install openssl
로그인 후 복사

然后,生成私钥和自签名证书:

$ sudo openssl req -newkey rsa:2048 -nodes -keyout registry.key -x509 -days 365 -out registry.crt
로그인 후 복사

生成的registry.key为私钥文件,registry.crt为自签名证书文件。

接下来,编辑Nginx配置文件/etc/nginx/sites-available/default,添加如下内容:

server {
    listen 443 ssl;
    server_name <your-domain-name>;

    ssl_certificate /path/to/registry.crt;
    ssl_certificate_key /path/to/registry.key;

    location / {
        proxy_pass http://localhost:5000;

        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
로그인 후 복사

替换<your-domain-name>

    이미지 웨어하우스의 인증 및 승인 구성

      이미지 웨어하우스의 보안을 보장하려면 인증 및 승인 기능을 추가해야 합니다. Nginx를 역방향 프록시 서버로 사용하고 기본 인증 인증 방법을 사용할 수 있습니다.
    1. 먼저 Nginx를 설치합니다:
    $ sudo systemctl restart nginx
    로그인 후 복사
    로그인 후 복사

    그런 다음 인증 정보를 저장할 비밀번호 파일을 만듭니다:

    $ sudo vi /etc/docker/daemon.json
    로그인 후 복사

    생성 후 Nginx 구성 파일 /etc/nginx/sites-available/default에 다음을 추가하세요.

    {
        "insecure-registries": ["<your-domain-name>:5000"]
    }
    로그인 후 복사

    <your-domain-name>을 도메인 이름으로 바꾸세요.

    구성 파일을 저장하고 Nginx를 다시 시작하세요.

    $ sudo systemctl restart docker
    로그인 후 복사

      HTTPS 지원 구성

      🎜🎜통신 보안을 보장하기 위해 통신에 HTTPS 프로토콜을 사용할 수 있습니다. 먼저 이미지 웨어하우스에 대한 자체 서명된 인증서를 생성해야 합니다. 🎜🎜먼저 OpenSSL을 설치합니다: 🎜
      $ docker tag image <your-domain-name>:5000/image
      $ docker push <your-domain-name>:5000/image
      $ docker pull <your-domain-name>:5000/image
      로그인 후 복사
      🎜그런 다음 개인 키와 자체 서명 인증서를 생성합니다: 🎜rrreee🎜생성된 registry.key는 개인 키 파일인 registry.crt 자체 서명된 인증서 파일입니다. 🎜🎜다음으로 Nginx 구성 파일 <code>/etc/nginx/sites-available/default를 편집하고 다음 콘텐츠를 추가합니다. 🎜rrreee🎜 <your-domain-name>바꾸기 > 귀하의 도메인 이름에 대해. 🎜🎜구성 파일을 저장하고 Nginx를 다시 시작하세요. 🎜rrreee🎜🎜Docker 클라이언트를 사용하여 이미지 저장소와 상호 작용🎜🎜🎜마지막으로 Docker 클라이언트를 사용하여 이미지 저장소와 상호 작용합니다. 먼저 Docker에 대한 신뢰할 수 있는 저장소를 구성해야 합니다. 🎜rrreee🎜구성 파일에 다음 콘텐츠를 추가합니다. 🎜rrreee🎜구성 파일을 저장하고 Docker 서비스를 다시 시작합니다. 🎜rrreee🎜이제 Docker 클라이언트를 사용하여 이미지 저장소, 예를 들어 이미지 푸시 및 풀: 🎜rrreee🎜위는 Linux 서버에 안전하고 안정적인 Docker 이미지 웨어하우스를 구축하기 위한 모든 단계와 코드 예제입니다. 다음 단계를 따르면 안전하고 신뢰할 수 있는 Docker 이미지 웨어하우스를 구축하여 컨테이너화된 애플리케이션의 안정성과 보안을 보장할 수 있습니다. 🎜

      위 내용은 Linux 서버에서 안전하고 안정적인 Docker 이미지 웨어하우스를 구축하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Docker 컨테이너의 이름을 확인하는 방법 Docker 컨테이너의 이름을 확인하는 방법 Apr 15, 2025 pm 12:21 PM

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 ​​있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

Docker에서 로그를 보는 방법 Docker에서 로그를 보는 방법 Apr 15, 2025 pm 12:24 PM

Docker Logs를 보는 방법에는 다음이 포함됩니다. Docker Logs 명령 사용 : Docker Logs Container_name Docker Exec 명령을 사용하여 RUN /BIN /SH를 사용하여 로그 파일을 봅니다. cat /var/log/container_name.log docker-compose logs docker compose의 명령 : docker-compose -f docker-com 사용

Docker가 컨테이너를 시작하는 방법 Docker가 컨테이너를 시작하는 방법 Apr 15, 2025 pm 12:27 PM

Docker Container Startup 단계 : 컨테이너 이미지를 당기기 : "Docker Pull [Mirror Name]"을 실행하십시오. 컨테이너 생성 : "docker"[옵션] [미러 이름] [명령 및 매개 변수]를 사용하십시오. 컨테이너를 시작하십시오 : "Docker start [컨테이너 이름 또는 ID]"를 실행하십시오. 컨테이너 상태 확인 : 컨테이너가 "Docker PS"로 실행 중인지 확인하십시오.

Docker 용 컨테이너를 만드는 방법 Docker 용 컨테이너를 만드는 방법 Apr 15, 2025 pm 12:18 PM

Docker에서 컨테이너 만들기 : 1. 이미지를 당기기 : Docker Pull [Mirror Name] 2. 컨테이너 만들기 : Docker Run [옵션] [미러 이름] [명령] 3. 컨테이너 시작 : Docker Start [컨테이너 이름]

VSCODE에 필요한 컴퓨터 구성 VSCODE에 필요한 컴퓨터 구성 Apr 15, 2025 pm 09:48 PM

대 코드 시스템 요구 사항 : 운영 체제 : Windows 10 이상, MacOS 10.12 이상, Linux 배포 프로세서 : 최소 1.6GHz, 권장 2.0GHz 이상의 메모리 : 최소 512MB, 권장 4GB 이상의 저장 공간 : 최소 250MB, 권장 1GB 및 기타 요구 사항 : 안정 네트워크 연결, Xorg/Wayland (LINUX)

VSCODE는 확장자를 설치할 수 없습니다 VSCODE는 확장자를 설치할 수 없습니다 Apr 15, 2025 pm 07:18 PM

VS 코드 확장을 설치하는 이유는 다음과 같습니다. 네트워크 불안정성, 불충분 한 권한, 시스템 호환성 문제, C 코드 버전은 너무 오래된, 바이러스 백신 소프트웨어 또는 방화벽 간섭입니다. 네트워크 연결, 권한, 로그 파일, 업데이트 대 코드 업데이트, 보안 소프트웨어 비활성화 및 대 코드 또는 컴퓨터를 다시 시작하면 점차 문제를 해결하고 해결할 수 있습니다.

VScode 란 무엇입니까? VScode 란 무엇입니까? Apr 15, 2025 pm 06:45 PM

VS Code는 Full Name Visual Studio Code로, Microsoft가 개발 한 무료 및 오픈 소스 크로스 플랫폼 코드 편집기 및 개발 환경입니다. 광범위한 프로그래밍 언어를 지원하고 구문 강조 표시, 코드 자동 완료, 코드 스 니펫 및 스마트 프롬프트를 제공하여 개발 효율성을 향상시킵니다. 풍부한 확장 생태계를 통해 사용자는 디버거, 코드 서식 도구 및 GIT 통합과 같은 특정 요구 및 언어에 확장을 추가 할 수 있습니다. VS 코드에는 코드에서 버그를 신속하게 찾아서 해결하는 데 도움이되는 직관적 인 디버거도 포함되어 있습니다.

VSCODE로 중국 모드를 전환하는 방법 VSCODE로 중국 모드를 전환하는 방법 Apr 15, 2025 pm 11:39 PM

vs Code to Chinese 모드 : 설정 인터페이스를 엽니

See all articles