
이유 Docker를 이용하여 MYSQL 컨테이너를 생성하여 데이터를 넣었지만 컨터이너를 삭제하면 데이터가 함께 삭제됨비휘발성이라 데이터 지속성을 위해 필요 방법우선 명령어는 아래와 같습니다.docker run -v [호스트_경로]:[컨테이너_경로] [이미지_이름] 예시로 MYSQL이라 생각하고 진행한다면 아래와 같이 명령어를 입력할 수 있습니다. 하지만, 그 전에 내가 준비해야할 호스트 경로를 만들어야 합니다.mkdir [폴더 이름]cd [폴더 이름] docker-mysql01 라는 폴더 이름을 생성하여 호스트 경로는 준비가 되었습니다. 컨테이너 경로는 공식 웹사이트에서 확인할 수 있습니다. mysql - Official Image | Docker HubQuick reference Supported t..

방법docker run --name [name] -e MYSQL_ROOT_PASSWORD=[password] -d -p [port]:3306 mysql:latest 그럼 컨테이너를 생성하고 실행하기 위해 실제 값을 아래와 같이 넣어보았습니다. docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=password1234 -d -p 3306:3306 mysql:latest 연결 확인 접속을 위해 exec 명령어를 사용하여 bash 형태로 접속합니다.docker exec -it 32f bash 먼가 파일은 있는데 맞는지 확인하기 위해서 아래의 명령어를 입력합니다.mysql -u root -p 패스워드는 초기에 설정한 패스워드 값으로 들어올 수 있습니다. 그리고 마지막..

Docker Compose 사용이유 Dockerfile 은 개별 컨테이너를 빌드하는 역할을 했습니다. 이미지를 생성하고 컨테이너를 생성 및 실행 합니다. 파일안에 필요한 명령어 FROM 부터 RUN 그리고 Entrypoint... 등등 그리고 도커파일을 실행하기 위한 명령어와 옵션들이 있습니다. 이러한 것을 조금 더 간편하게 사용할 수 있는 게 Compose 입니다. 예시: nginx 를 설치하고 그 위에 node 를 설치하며 이름은 node-server 및 포트는 4000 이라는 컨테이너를 만들어야 한다면?? - Dockerfile 을 사용할 경우FROM node 그리고 명령어로 아래와 같이 입력합니다.docker run --name node-server -d -p 4000:4000 nginx - co..

방법WORKDIR 은 컨테이너 내부에서 작업 디렉토리로 설정하는 명령어 입니다. 이러한 작업 디렉토리를 설정하는 이유는 내부 폴더를 깔끔하게 관리하기 위함입니다. 파일 및 폴더가 정리 되어야 찾기 쉽듯이 작업 디렉토리도 깔끔하게 정리하도록 해당 디렉토리를 설정하는 명령어 입니다.WORKDIR [작업 디렉토리로 사용하게 될 절대 경로] 작업 디렉토리를 app 이라는 폴더로 정하고 싶을 때 아래와 같이 명령어를 사용합니다.WORKDIR /app 그렇다면 이미지는 ubuntu 로 작업 디렉토리는 app 폴더로 지정하며, 복사할 파일을 copy_folder라고 지정하면 dockerfile은 아래와 같이 구현됩니다. 이렇게 만들어진 dockerfile 을 실행하면 시작 장소도 WORKDIR 로 변경됩니다. 그..

방법의미는 이미지 생성 과정에서 실행되는 명령어입니다. 이는 컨테이너 내부에서 특정 작업(패키지 설치, 파일 복사 등)을 실행하고 결과를 이미지에 반영합니다.RUN [명령어] 우분트를 설치하고 이미지 생성과정에서 apt-get update 후 curl을 설치할 경우FROM ubuntu:latestRUN apt-get update && apt-get install -y curl 실행하면 이미지가 생성되는 과정에서 환경이 설정됩니다. 설치가 정상적으로 되었는지 확인하기 위해 버전 및 curl 명령어를 실행해 봅니다. curl --versionwhich curl 확인이 되는 것을 알 수 있습니다. 따라서, 위에서 만든 이미지는 ubuntu 와 curl 이 설치된 이미지가 됩니다. 사실 위와 같이 docke..

방법 의미는 Docker 컨테이너가 실행될 때 기본적으로 실행되는 명령어를 지정하는 지시문입니다. ENTRYPOINT [ "실행할_명령어", "기본_옵션" ] 이전에 저는 sleep 이라고 명령어를 사용하고 옵션으로 500 이라는 값을 입력하여 500초동안 실행하고 종료되게 만들었습니다. ENTRYPOINT [ "sleep", "500" ] 다른 예시 Dockerfile 안에 아래와 같이 입력해 봅니다.FROM ubuntuENTRYPOINT [ "echo", "Hello, Docker!" ] 해당 의미는 ubuntu 이미지를 생성하고 컨테이너를 생성 및 실행되자 마자, Hello, Docker! 가 실행이 되도록 하는 것입니다. 확인을 위해 Dockerfile을 실행하면 아래와 같이 이미지가 생성된 ..

방법 의미는 호스트 컴퓨터에 있는 파일을 복사해서 컨테이너로 전달하는 것입니다. COPY 확인을 위해 아래의 파일을 생성하고 Dockerfile 에는 아래의 명령어를 입력합니다.test.txt (test file 이라고 입력)COPY test.txt /test.txt 그리고 Dockerfile을 build 하여 이미지를 생성합니다. 생성한 이미지를 통해 컨테이너를 생성하고 실행합니다. 실행한 컨테이너에 접속합니다. 접속 후 아래의 명령어 ls -a 를 통해 test.txt 파일을 찾을 수 있습니다. 해당 파일을 실행하면 위에서 적은 test file 이라는 결과가 나옵니다. cat test.txt // test.txt 실행 명령어 파일이 아닌 폴더도 가능 앞에서 호스트 컴퓨터에 있는 파일을 복사..

방법 도커 파일을 만들기 전에 만드는 이유가 있습니다.이미지 만드는 방식이 두 가지 중 나만의 방식으로 만들 수 있음나만의 방식은 이미지를 정의하는 것이미지로 본다면 아래와 같습니다. 이렇게 만드는 방법은 아래와 같습니다. ※ Dockerfile 파일 생성 확장자는 필요없지만, 앞에 대문자는 중요합니다. 이렇게 생성한 도커 파일에 안에는 도커가 작동할 수 있도록 명령어를 적습니다. FROM가장 먼저 배우는 문법인 필수 명령어 FROM 입니다.FROM [IMAGE 이름]FROM [IMAGE 이름]:[Tag 이름] 역할은 베이스 이미지를 생성합니다. 베이스는 기본이라는 뜻으로 가장 기본적인 것을 설치한다고 볼 수 있습니다. 윈도우 설치하면, 엣지가 설치되어 있고 맥을 이용하면 사파리가 설치된 것으로 비유..

방법docker exec -it [container ID] bash docker 명령어를 이용하여 exec는 실행중인 컨테이너에서 명령어를 실행하는 것이고 옵션 값으로 i 는 interactive의 i 로 표준 입력(키보드 입력)을 유지하도록 설정합니다. 다른 옵션 값으로 t 를 (TTY) 터미널(가상 콘솔)을 활성화하여 사용 가능하도록 설정합니다. 마지막으로 bash 환경으로 접속하겠다는 것을 의미합니다. bash 는 shell 의 일종으로 윈도우의 powershell 과 비슷한 것입니다. 옵션의미exec실행 중인 컨테이너에서 명령어 실행i표준 입력(키보드 입력)을 유지하도록 설정t터미널(가상 콘솔)을 활성화하여 사용 가능하도록 설정 ✔ 즉, -it 옵션을 사용하면 컨테이너 내부에서 터미널을 열고 명..

방법 이전에는 포트를 넣지 않고 설치 후 실행하였다면, 이번에는 포트를 넣은 후 접속까지 하도록 할 수 있습니다.docker run -d --name [이름] -p [호스트포트]:[컨테이너 포트] [이미지이름] 예제로 저는 이름은 web-server호스트포트는 8000 컨테이너 포트는 80이미지는 nginx 로 설정한다면?docker run -d --name web-server -p 8000:80 nginx 이렇게 입력 가능합니다. 포트를 입력한 것과 입력하지 않는 것은 아래와 같이 차이점을 확인 가능합니다. 포트포워딩이란?- 내부 네트워크(사설 IP)에 있는 장치나 서비스에 외부 네트워크(공인 IP)에서 접근할 수 있도록 특정 포트를 열어주는 네트워크 설정 방법입니다. 말이 어려우니 그냥 원격 접속이..