DevOps

[Docker] 신규 인스턴스 Docker 환경 구성

nineDeveloper 2020. 5. 1. 11:56
728x90

카카오 미러 서버로 변경

sudo sed -i 's/kr.archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list

1. Docker 설치

https://github.com/docker/docker-install
https://docs.docker.com/

아래의 커맨드를 입력하면 자동으로 해당 OS에 맞게 도커를 설치 해줌
Amazone Linux 는 별도의 설치 커맨드로 설치해야됨

$ curl -s https://get.docker.com/ | sudo sh

도커 그룹 추가

# 그룹확인
cat /etc/group

# docker 유저 추가
sudo usermod -aG docker $USER && \
sudo service docker restart

docker 서비스 재기동

sudo service docker restart

docker 업데이트

ubuntu
sudo apt upgrade docker-ce
centos
# containerd, docker-ce, docker-ce-cli 패키지 업데이트
sudo yum update -y docker-ce.x86_64 docker-ce-cli.x86_64 containerd.io.x86_64

docker 삭제

ubuntu
# docker 설치 확인
dpkg -l | grep -i docker

# docker 삭제
sudo apt-get purge -y docker-engine docker docker.io docker-ce

# 호스트에서 이미지, 컨테이너, 볼륨 또는 사용자 생성 구성 파일을 제외한 모든 파일을 삭제한다.
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce

# 모든 이미지, 컨테이너 및 볼륨을 삭제 (시스템에서 Docker를 완전히 제거)
sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock

Ubuntu에서 아주쉽게 Docker를 제거하는 방법

sudo snap remove docker

모든 docker 관련 파일을 삭제

sudo find / -name "*docker*" -exec `rm -rf` {} +
centos
# 설치된 docker 관련 패키지 확인
sudo yum list installed | grep docker
containerd.io.x86_64                    1.2.6-3.3.el7                  @docker-ce-stable
docker-ce.x86_64                        3:19.03.1-3.el7                @docker-ce-stable
docker-ce-cli.x86_64                    1:19.03.1-3.el7                @docker-ce-stable

# containerd, docker-ce, docker-ce-cli 패키지 모두 삭제
sudo yum erase containerd.io.x86_64
sudo yum erase docker-ce.x86_64
sudo yum erase docker-ce-cli.x86_64
Images, Container, volumes, 커스텀화된 설정 파일까지 수동 제거
sudo rm -rf /var/lib/docker

2. Docker Compose 설치

Docker for Mac / Windows는 기본으로 같이 설치됨

$ docker-compose --version
Linux에 설치하는 명령어

최신버전 설치명령어: https://docs.docker.com/compose/install/

# 1.29.2 설치 예시 설치할때는 반드시 위 링크에서 최신버전 설치명령어로 설치하기바람
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
sudo chmod +x /usr/local/bin/docker-compose && \
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
업그레이드

최신 버전 스크립트 재수행
최신버전: https://docs.docker.com/compose/install/

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
docker-compose 삭제하는 명령어
sudo rm /usr/local/bin/docker-compose
sudo rm /usr/bin/docker-compose

Docker Compose Alias

~/.bashrc 에 아래의 내용을 등록하고 source ~/.bashrc 하면 alias 가 등록된다

# docker-compose alias
alias dco='docker-compose'
alias dcb='docker-compose build'
alias dce='docker-compose exec'
alias dcps='docker-compose ps'
alias dcr='docker-compose run'
alias dcup='docker-compose up'
alias dcupbf='docker-compose up --build --force-recreate'
alias dcupb='docker-compose up --build'
alias dcdn='docker-compose down'
alias dcdnr='docker-compose down --remove-orphans'
alias dcl='docker-compose logs'
alias dclf='docker-compose logs -f'
alias dclt='docker-compose logs -f -t --tail="all"'

3. DCS 툴 설치

DCS 설명

Docker를 쉽게 사용할 수 있게 해주는 유용한 툴

GitHub 주소

https://github.com/goody80/docker_cli_dashboard

설치 커맨드

curl -sL bit.ly/ralf_dcs -o ./dcs && \
chmod 755 dcs && \
sudo mv dcs /usr/local/bin/dcs

Aamazon ECR PUBLIC 레파지토리 사용을 위한 설정

IAM 계정 생성 및 권한 추가

  • AmazonEC2ContainerRegistryFullAccess
  • AmazonEC2ContainerServiceforEC2Role
  • AmazonElasticContainerRegistryPublicFullAccess

4. AWSCLI 설치

sudo apt-get install unzip -y && \
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip" && \
sudo unzip awscliv2.zip && \
sudo ./aws/install

aws configure 셋팅 후 docker login

aws configure set aws_access_key_id AKXXXXXXXXXXX && \
aws configure set aws_secret_access_key yXXXXXXXXXXXXXXXXXX && \
aws configure set region ap-northeast-2 && \
aws configure set output json && \
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/VXXXXXXX
728x90