2 minute read

docker-doc

ec2 용량 꽉찻을경우

df -hT #각 볼륨의 파일시스템 용량, 타입 확인

du <dir> #


EBS 콘솔에서 내 볼륨 우클릭 후 수정해서 크기를 8에서 16으로 수정함.
lsblk 명령어로 인스턴스에 연결된 블록디바이스를 확인


sudo growpart <볼륨> <파티션번호>



sudo resize2fs <파티션>


권한이없을경우 권한부여
sudo chmod 666 /var/run/docker.sock

권한부여후 sudo usermod -a -G docker ec2-user


docker info

도커 아마존리눅스설치

  sudo yum update -y
  sudo amazon-linux-extras install docker
  sudo service docker start
  sudo usermod -a -G docker ec2-user
  docker info

도커 이미지생성

  touch Dockerfile
  
  RUN apt-get update && \
 apt-get -y install apache2
  
  RUN echo 'Hello World!' > /var/www/html/index.html
  
  RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \
 echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \
 echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ 
 echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ 
 chmod 755 /root/run_apache.sh

EXPOSE 80

CMD /root/run_apache.sh
  
  dockerfile 에서 빌드
  docker build -t hello-world .
  
  이미지확인
  docker images --filter reference=hello-world
  
  docker run -t -i -p 80:80 hello-world
  
  
  docker-machine ip ~machine-name~
  
  
  # 자동시작도커
  sudo chkconfig docker on
  # 깃설치 반드시
  sudo yum install -y git 
  # 재부팅
  sudo reboot
  
  
  # docker compose install
  
Copy the appropriate docker-compose binary from GitHub:

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

NOTE: to get the latest version (thanks @spodnet): sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

Fix permissions after download:

sudo chmod +x /usr/local/bin/docker-compose

Verify success:

docker-compose version
  

# 도커 이미지 받아서 해당 포트에 프로세스 돌림 (–detach 백그라운드 / 없으면 바로 )

  --detach 백그라운드 / 없으면 바로 
  --name 이름 설정
  docker container run --publish <port> <option> <image>
  docker container run --publish 8022:80 --detach nginx

# 도커 컨테이너 리스트

  docker container ls

# 도커 중지

  docker container stop <container id>

# 도커 로그

  name = 이미지 이름
  docker container logs <name>

# 프로세스에 올려진 도커 컨테이너 확인

  name = 이미지 이름
  docker container top <name>

# 도커 리스트에서 이미지 삭제

  running image는 삭제할수 없음
  -f 명령어 강제 종료
  docker container rm -f <container id>

# docker container run 동작원리

  1. 로컬 이미지를 찾는다
  2. 도커허브에서 이미지 리모트를 한다
  3. 최신버전을 다운로드 받는다. (엔진엑스 최신버전)
  4. 컨테이너를만들고 시작함
  5. 가상 ip를 부여하고 docker engine을 올려둠
  6. 포트 번호에 할당
  7. image dockerfile 에있는 cmd실행

# 리눅스 프로세스 리스트

  포트확인
  netstat -tnlp
  프로세스 확인
  ps aux

# docker container inspect - 컨테이너 설정 확인 # docker container stats - 컨테이너 성능 확인

# docker container exec bash에서 ps -aux가 안먹히는경우

   apt-get update && apt-get install procps

# docker container localshot ip inspect 로 확인하는방법

  docker container inspect --format '' webhost

# docker container network 사용리스트

  docker network ls
  docker network inspect bridge

# docker 버추얼 네트워크 변경

  docker network ls 
  => list id
  docker container ls
  => list id 
  docker network connect <networkId> <containerId>
  
  -->docker container inspect <containerId>

# docker 핑 체크

  docker container exec -it <containerName> bash 
  apt-get update && apt-get install -y iputils-ping

Tags:

Categories:

Updated: