본문 바로가기

Python/Docker Intro

Docker Intro - Docker CLI 정리

먼저, Amazon Linux2 기반 Docker Install Script

sudo amazon-linux-extras install -y epel
sudo yum install -y python3
sudo python3 -m pip install --upgrade pip
sudo amazon-linux-extras install -y docker
sudo service docker start
sudo usermod -aG docker $USER
docker info

 

- 컨테이너 포트 확인

docker inspect -f '{{.State.Pid}}’ 컨테이너 ID
sudo nsenter -t 위의 값 -n netstat -ntl

 

- File Copy

sudo docker cp 컨테이너이름:경로 호스트경로

 

- Commit

sudo docker commit -a "user" -m "message" 이미지이름:태그

- Docker pull

sudo docker pull registry:latest

 

- Docker Hub에 Image Push

docker login
docker tag 이미지:태그 유저/이미지:태그
docker push 유저/이미지:태그

 

- 컨테이너가 실행되면서 변경 된 파일 출력

docker diff 컨테이너 이름 or ID
(A는 추가된 파일 / C 는 수정된 파일 / D는 삭제된 파일)

 

- S3에 Image 저장

sudo docker run -d -p 5000:5000 --name s3-registry\
-e SETTINGS_FLAVOR=s3 \
-e AWS_BUCKET=bucket_name \
-e STORAGE_PATH=/registry \
-e AWS_KEY=access_key \
-e AWS_SECRET=secret_key \
registry

 

- Delete Container

docker rm 컨테이너 ID, ...
docker rm $(docker ps -a -q)

 

- Delete Image

docker rmi 이미지 ID
docker rmi -f 이미지 ID
docker rmi -f $(docker images -a -q)

 

- Container를 서버 부팅 할때마다 자동으로 서비스 시작

docker run --restart=always -d 컨테이너ID

 

- 컨테이너 접속 명령어

docker exec -it 컨테이너 id /bin/sh