docker run -itd -p 6060:6060 --name=node-run -h node-run noderun:1.0
docker [cotainer] run [option] docker_image [command]
-i : 대화식 모드
-t : tty 할당
-h : 호스트 네임 설정
-d : 백그라운드에서 실행
--name : 컨테이너 이름 설정
--rm : 컨테이너 종료시 자동으로 컨테이너 제거
--restart : 컨테이너 종료시 적용할 재시작 정책 지정
기본적으로 no,
on-failure, on-failure 횟수, always 가 있다
-e, --env : 컨테이너의 환경변수 지정
--env-file은 여러 환경 변수를 파일로 생성하여 지정하는 방법
-v : 호스트 경로와 컨테이너 경로의 공유 볼륨 설정 Bind Mount 작업
-p : hostPort : ContainerPort
-P : 컨테이너 내부의 노출된 포트를 호스트 임의의 포트에 게시
--workdir,-w : 컨테이너 내부의 작업 경로
-------------------
✅ "이미" 실행중인 컨테이너에게 명령어를 전달
👀 run은 실행할때 명령어 전달
docker exec <컨테이너 id>
- docker exec <컨테이너 id> ls
- docker exec <컨테이너 id> ifconfig
✅ 컨테이너안에서 실행된 서버에게 클라이언트가 명령어 전달할때
-i : 상호적인
-t : 터미널
docker exec -it <컨테이너 id> <명령어>
- docker exec -it <컨테이너 id> redis-cli
docker top [컨테이너이름/컨테이너아이디]
: 프로세스 보기
docker port [컨테이너이름/컨테이너아이디]
: 포트 보기
docker stats [컨테이너이름/컨테이너아이디]
: 리소스 사용 통계 실시간 출력
docker run --restart=always --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=9559:8080 --detach=true --name=cadvisor --privileged --device=/dev/kmsg gcr.io/cadvisor/cadvisor:latest
docker logs -f [컨테이너이름/컨테이너아이디]
: 로그보기 실시간옵션 -f
도커 컨테이너별 로그파일
ls -l /var/lib/docker/containers/ef3340ba4638ccadd690734ce4958592469c3dae089097a59196a178328f3c46
앞에 ef3340...은 컨테이너 아이디와 같은부분이다
sudo truncate -s 0 [파일경로]
: 0바이트로 만든다
docker cp runapp.js node-run:/app/runapp.js
: 운영중인 컨테이너가 사용하는 runapp.js 라는 파일을
수정후 컨테이너 내에 복사하기 이후 다음명령어 실행
docker restart node-run
: 컨테이너 재실행
docker events
: 도커 이벤트 실시간 보기
docker kill [컨테이너이름/컨테이너아이디]
: 즉시 종료 (exit code 137)
참고, 리눅스의 kill로 죽인다면 컨테이너 는 살고, 접속한 계정만 죽는다
docker diff [컨테이너이름/컨테이너아이디]
: A: 추가, D: 삭제, C: 변경
docker commit node-run node-run:2.0
: 변경 사항을 포함하는 이미지 만들기
docker export node-run > node-run.tar
: 파일로 내보내기
docker network ls
: 도커 네트워크 보기
docker network ls
: 도커 네트워크 보기
sudo apt install bridge-utils
brctl show
docker network inspect bridge
: 도커 브릿지 네트워크 정보보기
- IPAM 부분
sudo iptables -t nat -L -n