>기술 주변기기 >IT산업 >Docker와 Docker Compose의 기능적 깊이

Docker와 Docker Compose의 기능적 깊이

Lisa Kudrow
Lisa Kudrow원래의
2025-02-08 09:06:11683검색

The Functional Depth of Docker and Docker Compose Docker Compose 및 Vultr 컨테이너 레지스트리를 사용하여 멀티 컨테이너 플라스크 애플리케이션 구축

docker compose를 사용하면 단일 구성 파일을 사용하여 멀티 컨테이너 응용 프로그램을 실행하고 정의 할 수 있습니다. 여러 컨테이너를 설정하고 관리하는 프로세스를 단순화하여 응용 프로그램을보다 쉽게 ​​개발, 테스트 및 배포 할 수 있습니다. 이 기사에서는 두 컨테이너로 플라스크 애플리케이션을 만들고 VUCTR 컨테이너 레지스트리 (VCR)를 사용하여 응용 프로그램의 Docker 이미지를 관리하고 Docker Compose의 다중 컨테이너 기능을 갖춘 여러 컨테이너를 관리하도록 안내합니다.

샘플 애플리케이션 생성

다음 단계는 샘플 응용 프로그램을 만들도록 안내합니다.

Vultr 고객 포털을 통해 Docker Market 응용 프로그램을 사용하여 Vultr Compute 인스턴스를 배포하십시오.

SSH를 사용하여 뿌리가 아닌 Sudo 사용자와 함께 서버에 안전하게 액세스하십시오.

<.> 서버 업데이트.
  1. 새 프로젝트 디렉토리를 만들어 입력하십시오

  2. : 라는 새 파일을 만듭니다
  3. 다음 코드를 추가하십시오 <p> <it> 파일을 저장하고 종료하십시오. 이 플라스크 코드는 Redis 데이터베이스에 연결되며 루트 URL에 액세스 할 때마다 카운터를 증가시킵니다. </it></p>
  4. 포트 5000에 들어오는 연결을 허용하고 방화벽을 다시로드하십시오 :

    <code class="language-bash">mkdir flask-redis-example
    cd flask-redis-example</code>
    : 라는 새 파일을 만듭니다
  5. app.py 다음 패키지를 추가하십시오

    파일을 저장하고 닫습니다.
    <code class="language-bash">nano app.py</code>
  6. 디렉토리에 다른 디렉토리를 만들어 입력하십시오.

    <code class="language-python">from flask import Flask, render_template
    import redis
    
    app = Flask(__name__)
    redis_client = redis.Redis(host='redis', port=6379)
    
    @app.route('/')
    def hello():
        count = redis_client.incr('hits')
        return render_template('index.html', count=count)
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5000)</code>
    : 라는 새 파일을 만듭니다
  7. 다음 코드를 추가하십시오 <p> <it> 파일을 저장하고 종료하십시오. </it></p> <pre class="brush:php;toolbar:false">&lt;code class=&quot;language-bash&quot;&gt;sudo ufw allow 5000 sudo ufw reload&lt;/code&gt;</pre>
  8. 디렉토리에 다른 디렉토리를 만들어 입력하십시오.
  9. requirements.txt : 라는 새 파일을 만듭니다

    <code class="language-bash">nano requirements.txt</code>

  10. 다음 코드를 추가하십시오 <p> <it> 파일을 저장하고 종료하십시오. </it></p> <pre class="brush:php;toolbar:false">&lt;code&gt;flask redis&lt;/code&gt;</pre> <p> </p> vultr 컨테이너 레지스트리 사용
  11. 이 섹션에서는 Vultr 컨테이너 레지스트리를 만들고 Docker 이미지를 레지스트리에 업로드 한 다음 Flask 및 Redis 데이터베이스의 서비스를 설정하기 위해 Docker Compose 파일을 설정합니다.
  12. flask-redis-example vultr 컨테이너 레지스트리를 배포하십시오.

    <code class="language-bash"> mkdir static
     cd static</code>
  13. 디렉토리에서 Docker Manifest를 만듭니다 :

    styles.css

    다음 구성을 추가하십시오
    <code class="language-bash"> nano styles.css</code>
    파일을 저장하고 종료하십시오.
  14. 도커 이미지 빌드 :

    <code class="language-css"> body {
         font-family: Arial, sans-serif;
         text-align: center;
         background-color: #f4f4f4;
         margin: 0;
         padding: 0;
     }
    
     h1 {
         color: #333;
         margin-top: 50px;
     }
    
     p {
         font-size: 18px;
         color: #666;
     }</code>

    vultr 컨테이너 레지스트리에 로그인 :

    vultr 컨테이너 레지스트리의 개요 섹션에 제공되는 ,
  15. 를 교체하십시오.

  16. 태그 도커 이미지 :

    <code class="language-bash">mkdir flask-redis-example
    cd flask-redis-example</code>
    vultr 컨테이너 레지스트리에 거울을 퍼팅 :
  17. Docker Image를 누른 후 vultr 대시 보드의 Vultr 컨테이너 레지스트리의 "저장소"섹션에 이미지가 존재하는지 확인하십시오.
  18. <code class="language-bash">nano app.py</code> : 라는 새 파일을 만듭니다

    파일을 저장하고 종료하십시오. 위의 YAML 구성은 두 개의 서비스 와 를 정의합니다. 서비스는 현재 디렉토리 (.)에서 플라스크 애플리케이션을 구축하고 컨테이너 포트 5000을 호스트 포트 5000에 맵핑합니다. 또한 서비스는 서비스에 따라 다르다고 지정합니다. 이 서비스는 Docker Hub의 공식 Redis Docker 이미지를 사용합니다.

  19. Docker Compose 파일 빌드 : docker-compose.yaml 빌드 프로세스가 완료된 후 http : //

    : 5000의 플라스크 응용 프로그램을 방문하십시오. 웹 사이트를 여러 번 새로 고치고 페이지 방문 수가 증가하는지 관찰하십시오.
    <code class="language-python">from flask import Flask, render_template
    import redis
    
    app = Flask(__name__)
    redis_client = redis.Redis(host='redis', port=6379)
    
    @app.route('/')
    def hello():
        count = redis_client.incr('hits')
        return render_template('index.html', count=count)
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5000)</code>

    web redis vultr 컨테이너 레지스트리의 더 많은 사용 web web docker redis가있는 vultr 컨테이너 레지스트리 Kubernetes가있는 Vultr Container 레지스트리 redis 빌드 vllm 컨테이너 이미지 빌드 llama.cpp 컨테이너 이미지

    빌드 Pytorch 컨테이너 이미지
  20. 모범 사례
  21. <code class="language-bash">sudo ufw allow 5000
    sudo ufw reload</code>
    유지

    파일은 잘 구성되어 있으며 문서화되어 있습니다. 호스트 디렉토리에 바인딩하는 대신 데이터를 유지하기 위해 명명 된 볼륨을 사용하십시오.

    환경 변수를 사용하여 암호 및 API 키와 같은 민감한 데이터를 저장하십시오.
  22. 컨테이너를 관리하려면 , 및 와 같은 Docker Compose의 내장 명령을 사용하십시오.

결론 이 기사에서는 두 개의 컨테이너가있는 플라스크 애플리케이션을 만들고 Vultr 컨테이너 레지스트리를 사용하여 응용 프로그램의 Docker 이미지를 관리하고 Docker Compose의 다중 컨테이너 기능을 활용하여 여러 컨테이너를 관리했습니다.

이 기사는 Vultr가 후원합니다. Vultr은 세계 최대의 프라이빗 클라우드 컴퓨팅 플랫폼입니다. 개발자들 사이에서 가장 좋아하는 Vultr은 185 개국의 150 만 명 이상의 고객에게 유연하고 확장 가능한 글로벌 클라우드 컴퓨팅, 클라우드 GPU, 베어 메탈 및 클라우드 스토리지 솔루션을 제공했습니다. vultr
    에 대해 자세히 알아보십시오

위 내용은 Docker와 Docker Compose의 기능적 깊이의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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