기본 콘텐츠로 건너뛰기

3월, 2023의 게시물 표시

[Docker] Docker 사용법

 https://sddev.tistory.com/124 위 링크 내용을 가져와서 내용 습득을 위해 다시 한번 정리한 것입니다. Docker 사용법  # Docker 개요 개발 환경 구성에 대한 문서를 계속 업데이트한다면 이런 문제가 최소화되겠지만,  상상하는 것만으로도 진이 빠지는 일인 건 분명 # Docker 적용하기 1. local에서 프로젝트 폴더를 생성하고자 하는 경로에서, git clone해오거나, usb에서 프로젝트 폴더를 복사 2. 프로젝트 루트 디렉토리에서 도커 이미지 빌드 및 생성 [cmd] cd 프로젝트폴더경로  [cmd] docker build -t (도커_이미지_이름) (ex) docker build -t sdweb-docker-img // sdweb-docker-img라는 도커 이미지가 생성됨 // 아래의 명령어로 생성된 docker 조회 가능 [cmd] docker image ls | grep (검색어) (ex) docker image ls | grep sdweb-docker-img 3. 프로젝트 앱 컨테이너 실행 (2번의 이미지를 컨테이너로 실행) [cmd] docker run -it --rm -p 8000:8000 sdweb-docker-img ./실행파일..? // 데이터 베이스가 연결되어 있지 않기 때문에 에러남 4. 데이터베이스 컨테이너 실행 [cmd] docker run -it --rm (db도커이미지명) (ex) docker run -it --rm protgres // 기본적으로 도커 컨테이너들은 각각 격리된 환경에서 실행 // 다시 말해, 별도의 옵션을 지정하지 않으면 다른 컨테이너의 존재를 알 수 없음. 각각 실행만 시키면 무의미 5. 데이터베이스 컨테이너 연결 - 데이터베이스 컨테이너를 실행하면서 컨테이너 이름을 붙이고(db라고 하죠), - 앱 컨테이너를 실행할 때 db 컨테이너를 연결해 줍니다. docker run --rm(-it 노테이션 삭제함으로써 데몬 형태로 컨테이너 실행)\     --name db(db 컨테

[Docker ] Docker 실습

 https://sddev.tistory.com/218 위 링크 내용을 가져와서 내용 습득을 위해 다시 한번 정리한 것입니다. [Docker ] Docker 실습 Docker 설치 공식 사이트 주소 : https://www.docker.com/get-started Desktop 버전 설치, Community로도 왠만한 기능은 사용 가능   # Dockerfile 작성하기 @ Dockerfile 만드는 순서 1.베이스 이미지를 명시하기(파일 스냅샷에 해당) 2.추가적으로 필요한 파일을 다운 받기 위한 몇가지 명령어를 명시 3.컨테이너 시작시 실행 될 명령어를 명시 - FROM     생성할 이미지의 베이스가 될 이미지를 뜻합니다.      FROM 명령어는 Dockerfile을 작성할 때 반드시 한 번 이상 입력해야 합니다. - MAINTAINER     이미지를 생성한 개발자 정보를 나타냅니다. - RUN     이미지를 만들기 위해 컨테이너 내부에서 명령어를 실행합니다.     RUN 명령어에 ["/bin/bash", "echo hello" >> test.html"] 같이 입력하면      /bin/bash 셸을 이용해 'echo hello >> test2.html'을 실행한다는 뜻입니다. - ADD     파일을 이미지에 추가합니다.     Dockerfile이 위치한 디렉터리에서 파일을 가져옵니다.     ADD <DockerFile 경로 기준 파일 상대경로> <컨테이너 내 폴더 경로>     ex) ADD test.html /var/www/html 이라면 Dockerfile과 같은 디렉토리에 있는 test.html 파일을          이미지 내부의 /var/www/html에 추가한다는 뜻입니다. - WORKDIR     명령어를 실행할 디렉터리를 나타냅니다. 배시 쉘에서 cd 명령어를 입력하는 것과 같은 기능을 합니다.      즉, 컨테이너 내부에

[Docker] Docker 명령어 핵심만 이해하기

 https://sddev.tistory.com/126 위 링크 내용을 가져와서 내용 습득을 위해 다시 한번 정리한 것입니다. Docker 명령어 핵심만 이해하기 추가 Windows docker desktop 에서 해당 콘테이너 실행하고 Container 탭에서 이름을 선택하면  Logs, Inspect, Terminal, Files, Stats 등 하부 항목 등이 추가로 확인 가능하니 참고. docker images docker 내에 이미지 목록 조회 docker ps -a docker 내에 콘테이너 목록 조회 # 개요 기본적인 docker에 대한 동작 방식은 알고 있는 상태에서 명령어만 정리하겠다. 1. docker hub에서 이미지를 받을때는 pull 명령을 사용한다.  예를 들어 wildfly의 최신버전(latest)를 받을 경우 다음과 같이 한다. docker pull jboss/wildfly:latest docker pull <이미지명> docker 내에 docker-hub로부터 이미지를 다운로드 하라.  2. 내가 받은 모든 이미지들(예전에 ISO파일과 비슷하다고 보면 될 듯)의 목록을 볼 경우 다음과 같이 한다 docker images docker 내에 지금까지 설치된 모든 이미지를 조회하라. 3. 이미지 세부 정보를 확인할 때는 inspect 명령어를 사용한다. docker inspect jboss/wildfly:latest docker inspect <이미지명> 해당 이미지의 상세 정보를 조회하라.(os, cpu 등등이 표시된다.) 세부 정보는 json 문자열 형태로 보여지며 주요 정보로는 이미지 ID, 생성일, Docker 버전, 이미지 생성자, CPU 등을  제공한다 정보가 json 문자열 형태로 길게 나오기때문에 만약 특정 정보를 보고자 할때는 다음과 같이 format 옵션을  주어 보고자 하는 항목을 지정하면 그 항목에 대해서만 볼 수 있다. 예를 들어 docker inspect --format="{{ .

[Docker] Docker 이론

원본링크: https://sddev.tistory.com/118 위 링크 내용을 가져와서 내용 습득을 위해 다시 한번 정리한 것입니다. [Docker] Docker 이론 # Docker란? Linux Container 기반의 가상화 플랫폼이다. Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다.  Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다.  Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다. # Docker의 작동 방식 Docker는 코드를 실행하는 표준 방식을 제공합니다.  Docker는 컨테이너를 위한 운영 체제입니다.  가상 머신[VM]이 서버 하드웨어를 가상화하는 방식과 비슷하게(직접 관리해야 하는 필요성 제거)  컨테이너[Container]는 서버 운영 체제를 가상화합니다. Docker는 각 서버에 설치되며 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령을 제공합니다. # Docker를 사용하는 이유 Docker를 사용하지 않고, 개별 local에 Redis, Mysql과 같은 프로그램을 설치하려면,  환경별로 설치 중에 다양한 에러가 발생한다. Docker를 설치하면, Docker Engine 상에서 어느 환경에서나 명령어 하나만으로 동일한 서비스를 설치하고, 쉽게 접근이 가능하다. # Docker Container와 기존 VmWare VM 기술의 공통점 & 차이점 둘 다 격리된 리소스를 가진 실행 환경을 제공하지만, VM은 HostOS와 별개인 GuestOS를 설치하여 동작하여 무겁고, Docker Container는 별도의 OS 없이 HostOS의 커널을 공유하므로 실행이 가볍다. Docker: 어플리케이션을 실행할 때는 컨테이너 방