분류 전체보기(101)
-
[Docker] Docker Volume(볼륨)을 이용해 빌드 없이 소스 코드 반영하기
COPY할 경우 소스코드 변경 할 때마다 이미지를 변경(빌드)해야 했습니다. Volume은 도커 컨테이너의 부분들이 로컬의 있는 부분을 반대 반향으로 참조(Mapping)하고 있습니다. Volume을 이용해 어플리케이션 실행하는 법 docker run -p 5000:8080 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app -v /usr/src/app/node_modules 호스트 디렉토리(로컬 or EC2같은 컴퓨터)에 node_modules은 없기에 컨테이너에 매핑을 하지 말라고 하는 것 -v $(pwd):/usr/src/app pwd (현재 작업 중인 디렉토리. print working directory) 경로에 있는 디렉토리 혹은 파일을 /usr/src/..
2023.04.14 -
[Docker] node.js 애플리케이션 도커로 만들기
빈 프로젝트에 yarn init (npm init하셔도 무방합니다) -> packge.json생성 server.js생성 후 간단한 GET요청 하는 express 프레임워크를 이용한 코드입니다. dockerfile에 위와 같이 작성해줍니다. FROM 하나의 Docker이미지는 base이미지부터 시작해서 기존 이미지 위에 새 이미지를 중첩해 여러 이미지 층을 쌓아가며 만들어집니다. node:14 -> node 12버전을 base 이미지로 사용한다는 뜻입니다. COPY 호스트 컴퓨터에 있는 디렉토리나 파일을 docker이미지의 파일 시스템으로 복사합니다. package.json과 server.js도 복사해줘야 오류가 안납니다. RUN 이미지 빌드 시 커맨드 실행 ex) pip install , npm inst..
2023.04.13 -
[Docker] 도커 이미지 직접 만들기
도커 이미지를 항상 도커 hub에 있는 거를 가져와서 사용했는데 직접 도커 이미지를 만들어서 사용할 수 있고, 만든 도커 이미지를 도커 허브에 올려서 공유할 수 있습니다. (npm같은) 복습 - 도커 이미지는 컨테이너를 만들기 위해 필요한 설정/종속성들을 갖고 있는 소프르퉤어 패키지 - 도커 이미지는 도커 hub에 이미 만들어 놓은 것을 이용할 수 있고 , 직접 내가 만든 걸 도커 hub에 업로드해서 공유할 수 있습니다. 명령어 docker create 도커 이미지 생성 순서 Dockerfile작성 --> 도커 클라이언트 --> 도커 서버 --> 이미지 생성 - dockerfile : 도커 이미지 만들기 위한 설정 파일. 컨테이너가 어떻게 행동할 지에 대한 설정들을 정의합니다. - 도커 클라이언트 : d..
2023.04.12 -
[Docker] Docker 실행 중인 컨테이너에서 터미널로 접근하기
실행 중인 (run) 컨테이너에 명령어를 전달 하려면 기존에는 docker exec -it 명령어 이렇게 하나씩 명령어를 모두 넣었는데 컨테이너 안에 shell이나 터미널 환경으로 접속하면 좋습니다. 마지막 명령어를 쉘 (예로 zsh, bash , powershell등이 있겠죠)를 넣어주면 됩니다. docker exec -it 컨테이너를 쉘 환경으로 접근 첫번째로 apline이미지로 컨테이너 하나 실행! docker run alpine ping localhost exec를 이용하고 마지막 명령어에 sh 입력 후 컨테이너 안에서 터미널 환경을 구축! docker exec -it sh 그 안에서 여러 터미널에서 할 수 있는 작동들을 해보기 ex) ls touch export hello=hi echo $hel..
2023.04.12 -
[Docker] Docker 레디스(redis)로 띄우기
Redis 도커 환경에서 실행하기 redis서버와 redis클라이언트(redis-cli)가 필요합니다. redis 서버가 먼저 작동 (docker run redis) 서버 실행 후 redis 클라이언트 실행 후 명령어를 레디스 서버에 전달. 레디스 서버/ 레디스 클라이언트 둘 다 같은 컨테이너 안에서 실행 1. redis 서버 실행 docker run redis 2. 이미 실행 중인 컨테이너에 명령어 전달 시 exec를 쓴다고 했으니 redis서버가 실행 중인 컨테이너에 exec를 이용해 redis 클라이언트도 실행합니다 * -it 옵션은 interactive terminal로 -it없으면 redis-cli 키고 밖으로 다시 나와버림..... docker exec -it redis-cli
2023.04.12 -
[Docker] Docker 정리 (4) - Docker 명령어들
기본적인 도커 클라이언트 명령어 도커 이미지 복습 docker run 도커 클라이언트 언급 도커 컨테이너 생성 및 실행 이 컨테이너를 위한 이미지 ex) docker run mysql 작동 순서 복습 도커 클라이언트에 명령어 입력 후 도커 서버로 보냅니다. 도커 서버에서 컨테이너를 위한 이미지가 이미 캐시되어 있는 지 확인합니다. 없으면 도커 허브에서 다운 받아오고, 있으면 이미 가지고 있는 이미지로 컨테이너 생성합니다. 명령어 docker run ls ls명령어로 현재 디렉토리의 파일리스트 보여줌 hello-world 이미지로는 ls명령어 사용 불능 Alpine 이미지 파일 스냅샷 안에 이미 ls 사용하게 하는 파일이 있는데 'docker run hello-world'는 excutable not fou..
2023.04.10