생성 실행 동시에 하려면
- docker run [imageName]
생성
- docker create [name]
- id 생성됨
생성 후 실행하려면 이 명령어
- docker start -a [생성된id]
중지(1)
- docker stop [id]
- 하던 작업들 마무리하고 중지시킴 (메세지 같은거 보내고있었으면 다 보내고 중지)
- docker kill [id]
- 자비없이 그냥 바로 킬
컨테이너 삭제
- 하나씩 삭제
- 중지 한 후에 삭제가능
- docker rm [id]
- 전체 삭제
- docker rm docker ps -a -q
이미지 삭제
- docker rmi [id]
컨테이너 이미지 한번에 삭제
- docker system prune
폴더리스트 보기
- docker run [imageName] ls
핑 보내보기
- docker run [imageName] ping localhost
실행중인 컨테이너에 명령어 전달
- docker exec -it [id] [명령어 ex) ls]
- 여기서 -it는 interactive, terminal의 합성어
- 컨테이너 안에 들어가서 명령어 실행하고 나오는게 아니라
- 컨테이너 안에 들어가서 명령어 실행하고 대기하게 하는 역할
- 만약 exec 이런거 계속 치는게 귀찮으면
- docker exec -it [id] sh
- 해당 명령어로 쉘이나 터미널로 접속하면 바로 실행 가능
- 해당 환경에서 나오려면 컨트롤 + D로 나올 수 있음
실행중인 컨테이너 나열하기
- docker ps
모든 컨테이너 나열하기
- docker ps -a
docker ps 항목들 설명
- CONTAINER ID : 컨테이너의 고유한 아이디 해쉬값.
실제로는 더욱 길지만 일부분만 표출.
- IMAGE : 컨테이너 생성 시 사용한 도커 이미지.
- COMMAND : 컨테이너 시작 시 실행될 명령어.
대부분 이미지에 내장되어 있으므로 별도 설정이 필요 X.
- CREATED : 컨테이너가 생성된 시간.
- STATUS : 컨테이너의 상태입니다.
실행 중은 Up, 종료는 Exited, 일시정지 Pause.
- PORTS : 컨테이너가 개방한 포트와 호스트에 연결한 포트.
특별한 설정을 하지 않은 경우 출력되지 않습니다.
- NAMES : 컨테이너 고유한 이름.
컨테이너 생성 시 --name 옵션으로 이름을 설정하지 않으면
도커 엔진이 임의로 형용사와 명사를 조합해 설정.
id와 마찬가지로 중복이 안되고 docker rename명령어로
이름을 변경할 수 있습니다.
이름 변경
- docker rename original-name changed-name
도커 파일 만드는 순서
- 베이스 이미지를 명시해준다 (파일 스냅샷)
- 필요한 파일을 다운 받기 위한 몇가지 명령어를 명시해준다
- 컨테이너 시작 시 실행 될 명령어를 명시해준다
도커 실행
- docker build ./ 또는 docker build