AWS EC2 AmazonLinux2 docker 호스트의 초기 설정

하고 싶은 일



AmazonLinux2에 다음 설정을 정리하여 실행한다.
  • 시간대를 일본에
  • 언어를 일본어로
  • git docker docker-compose 최신 버전 설치
  • 다음 명령의 별칭 (바로 가기) 만들기



    원래 명령
    별칭


    도커
    dcr

    docker-compose
    ddc


    명령


    sudo yum update -y
    sudo cp /etc/localtime /etc/localtime.org
    sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime
    sudo mv /etc/sysconfig/clock /etc/sysconfig/clock.bk
    sudo echo -e 'ZONE='Asia/Tokyo'\nUTC=true' > /etc/sysconfig/clock
    sudo mv /etc/sysconfig/i18n /etc/sysconfig/i18n.bk
    sudo echo 'LANG=ja_JP.UTF-8' > /etc/sysconfig/i18n
    export LANG=ja_JP.utf8
    export LC_ALL=ja_JP.utf8
    
    
    sudo yum install -y git jq
    
    sudo amazon-linux-extras install -y docker
    sudo service docker start
    sudo chkconfig docker on
    sudo usermod -a -G docker ec2-user #本番環境などでは危険だからやらないでね!
    
    compose_version=$(curl https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
    output='/usr/local/bin/docker-compose'
    sudo curl -L https://github.com/docker/compose/releases/download/$compose_version/docker-compose-$(uname -s)-$(uname -m) -o $output
    sudo chmod +x $output
    
    echo "alias dcr='docker'" >> ~/.bashrc
    echo "alias ddc='docker-compose'" >> ~/.bashrc
    
    source ~/.bashrc
    
    # mod001: 2020-02-07
    sudo cat - << EOS >> /etc/docker/daemon.json
    {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "100m"
      },
      "storage-driver": "overlay2",
      "storage-opts": [
        "overlay2.override_kernel_check=true"
      ]
    }
    EOS
    

    덤: root에서도 docker-compose를 사용하는 경우의 설정


    sudo visudo
    

    에서 sudoers 편집 화면을 엽니다.
    # :/usr/local/binをおしりに追加
    Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
    

    대로 편집하고 저장.

    그리고 다음 명령을 실행합니다.
    sudo sh -c "echo alias dcr='docker' >> /root/.bashrc"
    sudo sh -c "echo alias ddc='docker-compose' >> /root/.bashrc"
    

    추가



    새로운 개선 재료를 구입하면 수시로 갱신합니다.

    mod001



    자세한 내용은 생략하지만,
    Docker 호스트가 CentOS 계열인 경우 Docker의 구성 파일 daemon.json에 이 덤프를 추가하지 않으면 큰 Docker 이미지를 처리할 수 없거나 이미지 용량이 한계를 넘으면 동작 불량의 원인이 되어 버리는 것 같습니다.
    (시행착오로 몇번이나 no-cache 빌드 하고 있으면 호스트가 정지해 버리는 것도, 이것으로 해결할 수 있을까…?)

    덧붙여서 Docker 설치 직후는 daemon.json 자체 존재하지 않거나 할지도.
    sudo cat - << EOS >> /etc/docker/daemon.json
    {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "100m"
      },
      "storage-driver": "overlay2",
      "storage-opts": [
        "overlay2.override_kernel_check=true"
      ]
    }
    EOS
    

    ※이 공격적인 cat 의 쓰는 방법은 이쪽을 참고로 했습니다!
    htps : // 코 m / 타케 4s5 네 / MS / 에 207 네 4fb04385 아 9952
  • 좋은 웹페이지 즐겨찾기