i: interactive 모드로 표준입력과 표준풀력을 키보드와 화면을 통해 가능하도록 하는옵션
t: 텍스트 기반의 터미널(TTY)를 애뮬레이션 해주는 옵션
컨테이너 실행
docker run 이미지이름
컨테이너 실행시 포트매핑
docker run --publish 8000(호스트포트):5000(컨테이너포트 플라스크기준) 이미지이름
- (컨테이너에 대한 포트를 게시하기 위해 명령에 --publish플래그( -p줄임말)를 사용합니다 docker run. --publish명령 형식 은 [host port]:[container port]. 따라서 컨테이너 내부의 포트 5000을 컨테이너 외부의 포트 3000에 노출시키 3000:5000려면 --publish플래그로 전달해야 합니다. 컨테이너에서 플라스크 애플리케이션을 실행할 때 포트를 지정하지 않았으며 기본값은 5000입니다. 이전 요청이 포트 5000으로 이동하도록 하려면 호스트의 포트 8000을 컨테이너의 포트 5000에 매핑할 수 있습니다.)
백그라운드 컨테이너 실행
docker run -d -p 8000:5000 이미지이름
- 샘플 애플리케이션은 웹 서버이므로 컨테이너에 연결할 필요가 없습니다. Docker는 분리 모드 또는 백그라운드에서 컨테이너를 실행할 수 있습니다. 이렇게 하려면 --detachor -d를 짧게 사용할 수 있습니다. Docker는 이전과 동일하게 컨테이너를 시작하지만 이번에는 컨테이너에서 "분리"되고 터미널 프롬프트로 돌아갑니다.
실행중인 컨테이너 목록
docker ps
시스템에 모든 컨테이너 표시
docker ps -a
컨테이너 중지
docker stop 컨테이너이름 및 컨테이너ID
중지한 컨테이너 다시실행
docker restart 컨테이너 이름
컨테이너 삭제
docker rm 컨테이너이름 컨테이너이름..
실행중인 컨테이너 삭제
docker rm -f 컨테이너이름
컨테이너 실행시 이름지정
docker run -d -p 8000:5000 --name 지정할이름 이미지이름
볼륨 생성
docker volume create 볼륨이름
애플리케이션 데이터베이스 통신 네트워크 생성
docker network create 이름
도커 허브에서 이미지가 있는지 확인해줌 이미지 검색
docker search 옵션 이미지이름:태그명
도커 허브에서 이미지를 하드디스크로 가져옴
docker pull nginx:latest(이미지이름)
이미지를 실행(컨테이너 띄우기)
docker run --name bawool -d -p 80:80 nginx:latest
run, create, start
이미지 삭제
docker rm image nginx(이미지이름)
docker rmi 옵션 nginx(이미지이름)
도커 허브 로그인
docker login
태그 바꾸기
docker tag 태그이름 도커계정이름/바꿀태그이름
이미지 다운로드
docker pull 옵션 이미지이름:태그명
(태그는 버전, 입력하지 않을경우 최신버전 latest)
다운 받은 이미지 목록 출력
docker images
다운 받은 이미지 상세보기
docker inspect 옵션 이미지이름:태그명
컨테이너 상세보기
docker inspect 컨테이너이름
컨테이너 생성
docker create 옵션 이미지이름:태그명
컨테이너 실행
docker start 옵션 컨테이너이름
실행중인 컨테이너에 접근 추가적인 명령을 실행하고 싶을때
docker exec 컨테이너이름 /bin/bash
컨테이너에서 동작되는 프로세스 확인
docker top 옵션 컨테이너이름
실행중인 컨테이너가 생성한 로그 정보보기
docker logs 옵션 컨테이너이름
포그라운드로 실행중인 컨테이너에 연결
docker attach 옵션 컨테이너이름