Post: Docker1
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
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