docker create -it ubuntu
docker ps
docker ps -a
docker run -dt ubuntu echo Hello, world!
# ubuntu를 background로 실행하고 -> -d
# 표준 입력을 열어 놓는다. -> -t
docker ps -l
# 최근에 사용한 컨테이너 목록
docker logs <container-id>
# 컨테이너 내부 로그 확인
docker stop <container-id>
docker rm <container-id>
docker rm -f $(docker ps -aq) # 모든 컨테이너 삭제
docker run -it --name c1 ubuntu /bin/bash
# 컨테이너 내부 쉘 접근
# -i : 표준 입력을 열어 놓는다.
# -t : 가상 터미널을 열어 놓는다.
#-----------------------------------------
docker attach c1
# 컨테이너 내부 접근
웹 서버처럼 백그라운드에서 실행되는 컨테이너는 docker attach
로 접근할 수 없다.
만약 내부 shell을 포함하고 있다면 exec
명령으로 터미널을 열어 접근할 수 있다.
docker run -d --name web nginx
docker ps
docker exec -it web /bin/sh
docker top web
# 프로세스 정보
docker logs web
# 표준 출력 결과 정보
docker logs -f web
# 실시간 모니터링
docker rename web webserver
# docker rename <original> <change>
컨테이너 내 파일을 호스트로 복사할 때 docker cp
명령어 사용
docker cp webserber:/usr/share/nginx/html/index.html .
#docker cp <container-name/Id>:<container_file> <host_dir>
mv index.html index2.html
docker cp index2.html webserver:/usr/share/nginx/html/
#docker cp <host_dir> <container-name/Id>:<container_file>
docker exec -it webserver bash
# file 복사 결과 확인
docker pull busybox
docker run busybox mkdir /home/test
docker ps -a
docker commit <container-id> busybox_modified
docker run -it --name b2 busybox_modified /bin/sh