Azure 근처에서 Docker의 학습회 자료를 시작합니다.

4319 단어 DockerAzure

입문


이 문서는 Azure를 공부하는 엔지니어가 WebApp on Linux를 비롯한 컨테이너 서비스를 처리하기 전에 Docker를 배우기 위한 학습회 자료입니다
슬라이드 모드로 최적화

본론 전에

  • 컴퓨터가 BIOS 등으로 인해 Docker를 움직일 수 없는 사람
    다음 명령을 사용하여 Azure에 CoreOS 설치
    (말은 그렇지만 azure-cli의 Docker 이미지는 움직일 수 없기 때문에 다른 사람을 일으켜 세우는 것이 가장 좋다)
  • az login
    
    az group create (groupname)
    az vm create --name node-1 --resource-group (groupname) --admin-username core --admin-password (password) --image CoreOS:CoreOS:Stable:latest --authentication-type password
    
    참조: CoreOS - Microsoft Azure

    왜 Docker야?

  • Infrastructure as a Code 구현
  • 프로그래머의 수비 범위 확대에 따른 개발과 공식적인 환경 통일화
  • 자이언트와 OSS 부근에서 정비 중인 환경
    WebApp on Linux도 이거예요
  • .
    참여자 간에 각 주제를 토론합시다
    그 후에 많은 말을 했으니 우리 각자 조사해 봅시다

    시작하다


    준비된 Dockerfile docker build, docker run으로


  • 다운로드Azure 내장 이미지에 공개된 내용, docker builddocker run
  • 루비,php,node,dotnetcore에서 해볼게요
  • 여기서부터 연습을 시작하겠습니다.


    문서 파일 쓰기

  • 이번에 Ruby
  • 에 대해 논의하겠습니다.
  • 다들 좋아하세요?Redmine 시작

  • Redmine 기반 Azure 포털에서 SSH 사용자 정의
  • 사용자 정의 Docker 이미지에서 SSH 지원
  • 문서 파일 참조
  • 생성된 저장소GitHub 저장소 제공 및 게시
  • Docker Hub에서 구축 및 게시

  • Docker Hub로 GitHub에 공개된 저장소 구축
    GitHub 변경 사항을 감지하고 재구성할 수 있으므로 자동 구성이 유용합니다.

  • Azure


    Webapp on Linux

  • 만들다
  • ySQL에 연결된 환경 변수 설정
  • Azure Database for MySQL

  • 만들다

  • 방화벽 설정 규칙
  • WebApp의 등록 정보 IP 주소 전송을 통해 Webapp의 글로벌 IP 확인
  • 손끝mysql에서 클라이언트에redmine를 만드는 모드
  • 힌트


    Docker file

  • FROM 자문에서 기본 Docker 이미지 지정
  • Windows 환경에서 작성.sh 시 줄 바꿈 코드가 LF
  • 인지 확인

    Webapp on Linux

  • Redmine 이미지에서 컨테이너가 실행될 때 Rails를 차는db:migrate용기에 있는 /usr/src/redmine/log/production.logActiveRecord::StatementInvalid (Mysql2::Error: Table 'redmine.settings' doesn't exist 나오지 않을 때 로컬 아래에서 회피
  • docker pull (docker_repository)
    docker run -it (docker_repository) bash
    # ここから docker コンテナ内
    cd /usr/src/redmine
    env REDMINE_DB_MYSQL=(mysql_db_name).mysql.database.azure.com REDMINE_DB_USERNAME=(mysql_username)@(mysql_db_name) REDMINE_DB_PASSWORD=(mysql_password) rake db:migrate
    

    Database for MySQL

  • SSL 연결의 강제는 DockerHub의 redmine 이미지에서 상응하는 변경이 필요하기 때문에 잠시 차단하는 것을 권장합니다
    (물론 SSL 사용)
  • 구현 예

  • GitHub 저장소
  • DockerHub 저장소
  • Webapp on Linux용 애플리케이션 설정
  • REDMINE_DB_MYSQL=(mysql_db_name).mysql.database.azure.com
    REDMINE_DB_USERNAME=(mysql_username)@(mysql_db_name)
    REDMINE_DB_PASSWORD=(mysql_password)
    

    보다 크면 같음

    좋은 웹페이지 즐겨찾기