Windows Docker(2) - 명령어(스냅샷)

2022. 6. 11. 21:42카테고리 없음

* docker는 attach 명령어를 사용해서 호스트PC -> 도커 연결 가능

* host에서 도커 컨테이너 안에 명령을 실행하는 명평어는 exec이다

* exec명령어와 -i, -t 옵션을 사용해야 입력이 가능하고 결과를 확인할 수 있다

$ docker exec it nginx /bin/bash

  1) docker exec : 컨테이너 내부에 명령을 실행

  2) -i(interfactive) : 표준 입력 활성화(attach 안되어 있어도 명령어 입력 가능)

  3) -t(tty) : 리눅스 쉘이 표시됨

 

* index.html을 찾아본다

find / -name index.html 2>/dev/null

  - 2>/dev/null : 정상 출력이 아닌 에러 출력을 /dev/null로 보내는 방법

 

* 검색했던 index.html을 host PC로 복사한다

docker cp nginx:/usr/share/nginx/html/index.html index.html

* index.html 파일 내용 중 Welcome to nginx! => Hello World로 바꾼다

* 수정한 index.html 파일을 다시 원래 위치로 복사한다

docker cp index.html nginx:/usr/share/nginx/html/index.html

* 수정이 반영된 docker의 이미지를 변경하려면 commit해줘야 한다

docker commit nginx mynginx

* 이미지를 다시 조회해보면 mynginx라는 이미지가 보인다

* docker ps로 조회해보면 nginx가 구동중인데, 기존 이미지(nginx)를 멈춘다

* 다시 조회해보면 멈춰 있는데, 구동 목록에서 삭제한다

* 새로 생성된 이미지를 구동시킨 후 접속하면 바뀐 문자열이 나타난다

 

* 현재 작업중인 폴더에 Dockerfile(확장자 없음)파일을 만들어서 내용을 다음과 같이 입력한다

FROM nginx
COPY index.html /usr/share/nginx/html/

* 그런 다음 명령창에 다음과 같이 입력한다

FROM nginx
COPY index.html /usr/share/nginx/html/

* 이미지를 조회해 보면 mynginx2라는 Repository가 추가된 것을 알 수 있다

* 이 이미지를 8002번 포트로 구동시켜본다