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번 포트로 구동시켜본다