기억하는 Docker 입문🐳#6(자작.yml Dropal 환경에 대한 compose)

7160 단어 DockerDrupal

개시하다


여러 개의 Docker 용기를 가동하여 네트워크 설정 등 필요한 환경 구축을 위한 학습Compose.
YAML 파일에 기술된 설정Compose은 명령을 실행하여 환경을 단번에 구축할 수 있습니다.

의 목적


docker-compose를 사용하여 가상 환경에서 Dropal 구축
이번에는 다음과 같은 조작을 진행한다.

  • 자체 파일docker-compose.yml
  • docker compose에 Dropal 환경 구축
  • DB에 postgres
  • 사용
    이러한 작업을 하면서 가상 환경에서 Drumal과 DB로 이동하는 네트워크를 구축한다.
    ※ 그나저나 드롭팔은 CMS의 일종입니다.마치 Word Press와 같다.

    컨디션

  • macOS Mojave 10.14.6
  • Docker engine 19.03.5
  • YAML 파일 만들기

    docker-compose 명령을 사용할 때 YAML 파일이 필요하며 이 설정 파일이라고도 할 수 있습니다.
    금방 할게요.
    기본 YAML 파일의 구문에 대한 자세한 설명은 공식 문서에 나와 있으며 필요할 때마다 참조됩니다.

    docker-compose.yml 만들기


    이번에는 drupal-docker 이 목록에서 작업을 진행할 것이다.
    먼저 파일 이름docker-compose.yml입니다.yml 파일을 생성합니다.
    파일 이름은 그렇지 않아도 만들 수 있습니다. 이 때 docker compose 명령을 실행할 때 파일 이름을 지정해야 합니다.파일 이름을 지정하는 것은 매우 번거롭습니다. 특별한 이유가 없으면 이 기본 이름으로 파일을 만듭니다.

    YAML 버전 지정


    yaml 파일에 버전이 있습니다.
    버전이 사용하는 기능에 따라 이번에는 버전 2를 사용합니다.
    docker-compose.yml
    version: '2'
    

    시간을 지정하다


    쓰기services에 사용된 이미지와 설정입니다.
    docker-compose.yml
    version: '2'
    
    services:
      drupal: # サービス名
        image: drupal
    
    Docker Compose에서는 응용 프로그램을 시작하는 요소를 서비스로 읽습니다.
    하지만 대체로 컨테이너다.
    여기서는 드럼의 공식적인 인상에서 용기를 만드는 느낌을 설정했다.

    ports 지정


    Apache에서 실행되는 Dropal 컨테이너는 액세스를 기다리는 포트를 지정합니다.
    이런 내용은 Docker Hub의 Dropal 공식 창고에서 확인할 수 있다.
    기본적으로 사용되는 포트는 Docker Hub에서도 확인하여 기술하십시오.
    Docker Hub의 공식 이미지에는 Compose용 샘플이 많이 쓰여 있어 필요한 설정을 확인하는 것이 중요하다.
    version: '2'
    
    services:
      drupal: # サービス名
        image: drupal
        ports:
          - "8080:80"
    

    지정 데이터베이스


    이번에는 Dropal에서 사용하는 DB로 Postgres를 사용했습니다.
    Drumal과 마찬가지로 Services 기술하다.
    DB는 같은 네트워크에 있는 Dropal 컨테이너에서만 액세스하므로 지정할 필요가 없음ports.
    DB는 암호를 설정해야 하므로 기술environment이 필요합니다.
    version: '2'
    
    services:
      drupal: # サービス名
        image: drupal
        ports: 
          - "8080:80"
    
      postgres: # サービス名
        image: postgres
        environment:
          - POSTGRES_PASSWORD=mypasswd
    

    Volumes 지정


    그럼 Drupal과 DB의 지정이 완료되었습니다. 이 음량을 어떻게 설치해야 좋을까요?
    그것도 Durupal 인상의 공식 문헌에 쓰여 있는데 거기서 복제되었다.
    version: '2'
    
    services:
      drupal: # サービス名
        image: drupal
        ports: 
          - "8080:80"
        volumes: # 名前指定付き
          - drupal-modules:/var/www/html/modules
          - drupal-profiles:/var/www/html/profiles
          - drupal-sites:/var/www/html/sites
          - drupal-themes:/var/www/html/themes
    
      postgres: # サービス名
        image: postgres
        environment:
          - POSTGRES_PASSWORD=mypasswd
    
    # Volumeの定義
    volumes: 
      drupal-modules:
      drupal-profiles:
      drupal-sites:
      drupal-themes:
    
    Dropal에 필요한 네 개의 볼륨 이름을 지정합니다.
    이와 함께 Volume 정의는 파일 아래쪽에서도 수행됩니다.

    docker-compose up


    YAML의 준비가 다 되었으니 실행하세요.
    다음 명령을 실행하면 용기가 자동으로 시작되어drupal 환경을 구축합니다.
    docker-compose up
    
    브라우저에서 localhost:8080를 열어 Dropal의 초기 화면을 표시합니다!

    참고로 실행docker-compose down을 통해 up 후의 용기와 네트워크를 한꺼번에 삭제할 수 있다.

    Drumal의 초기 설정(참고)


    이렇게 Drumal의 초기 설정을 진행할 때 약간의 주의를 기울인다.
    현재 이 환경은 컨테이너 네트워크의 가상 환경에 있다.
    어떻게 된 거야?초기 설정을 계속합니다.
    데이터베이스 이름은 Docker Hub의 기본 사용자 이름postgres으로 설정된 이름입니다.
    비밀번호는yaml 파일에서 지정합니다.

    이 상태라면 오류가 발생할 수 있습니다.
    호스트를'localhost'에서'postgres'로 변경하면 정상적으로 설치할 수 있습니다.
    이'postgress'는 서비스 이름으로 컨테이너를 사용할 때 중요한 DNS 역할을 한다.
    이 서비스의 이름은'postgress'로 Docker의 DNS가 Docker 네트워크의 IP를 해결하여 Dropal에 전달한다.
    반대로 localhost는 DB가 있는 네트워크가 아니기 때문에 localhost를 지정하면 오류가 발생합니다.

    총결산


    설치가 완료되면 홈페이지 화면이 순조롭게 표시됩니다!

    좋은 웹페이지 즐겨찾기