본문 바로가기
도커11
docker.sock 권한 오류 github action으로 ci/cd 재구성 해야해서 하는 도중 docker.sock 권한 오류를 만났다. 두 번째 겪는 일이기에 다시 찾는 일 없도록 기록해둔다. Got permission denied while trying to connect to the Docker daemon socket sudo chmod 666 /var/run/docker.sock Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.so.. 2022. 7. 12.
Docker 명령어(volume) 자주쓰는 볼륨 관련 명령어 ❯ docker volume Usage: docker volume COMMAND Manage volumes Commands: create Create a volume inspect Display detailed information on one or more volumes ls 볼륨 리스트 prune 사용되지 않는 볼륨들 모두 삭제 rm 볼륨들을 지울 때 명명된 볼륨 생성(볼륨을 지우지 않는한 데이터 유지) ❯ docker volume create test test ❯ docker volume ls DRIVER VOLUME NAME local test container to container 명명된 볼륨 공유 위에서 생성된 test 볼륨을 공유하는 node이미지 기반 컨테이너 .. 2022. 6. 20.
docker 기본 명령어 docker image다운로드(pull) ex) docker pull [OPTIONS] NAME[:TAG|@DIGEST] docker pull node:latest docker image 검색(search) ex) docker search [OPTIONS] TERM docker search node Docker hub로 부터 사용가능한 이미지를 찾습니다. Docker hub : 사용자들간 이미지를 공유 할 수 있는 환경 docker image 생성(build) ex) docker build [OPTIONS] PATH | URL | - # path 로 빌드시 docker build . # URL로 빌드시 docker build github.com/creack/docker-firefox docker imag.. 2022. 6. 19.
Docker - volume Container의 Layer에 데이터를 저장할 수 있다는 것을 알고 있다. 다만, 여기에는 몇 가지 문제점이 있다. Container가 삭제되면 Data도 같이 삭제됩니다. 다른 프로세스에서 Container에 저장된 Data를 사용하기 어렵다. Container의 Layer에는 Container가 실행 중인 호스트와 밀접하게 연결되며, 데이터를 다른 곳으로 쉽게 옮길 수 없다. Container의 Layer에 데이터를 저장하기 위해서는 파일시스템을 관리하는 스토리지 드라이버가 필요하다. 스토리지 드라이버는 Linux 커널을 사용하여 공용 파일 시스템을 제공합니다. 이 기능은 호스트의 파일시스템에 직접 쓰는 데이터 volume보다 성능이 떨어진다. 도커는 데이터를 안전하게 유지시킬 수 있는 방법으로 v.. 2022. 6. 19.
Docker - 레이어(layer) 도커 이미지는 코드의 변경 사항이 있을 때 마다 새로 만들어야합니다 여기서 레이어라는 개념이 등장합니다. 이미지를 빌드하거나 이미지를 다시 빌드할 때 변경된 부분의 명령과 그 이후의 모든 명령이 다시 빌드 된다는 의미입니다. Using cache(캐쉬 사용)이라는 메시지를 볼 수 있습니다. 도커는 기본적으로 이 모든 명령어에 대해 다시 실행했을 때의 결과가 이전과 동일하다는 것을 인식했기 때문입니다. 동일한 작업 디렉토리를 가지고 있고 복사한 코드는 전혀 변경되지 않았으며 새 파일도 없고 변경된 파일도 없으므로 도커는 실제로 그 명령을 다시 거칠 필요가 없다고 추론합니다. 대신 이미지를 빌드할 때마다 도커는 모든 명령 결과를 캐시하고 이미지를 다시 빌드할 때 명령을 다시 실행할 필요가 없으면 캐시된 결과.. 2022. 6. 19.
Docker - Dockerfile Dockerfile 이란 dockerfile은 docker build 명령어로 image를 생성 시 사용되는 설정 값 입니다. # node가 설치된 docker 이미지를 가져온다. From node # /app 폴더 내부에서 실행될 것임을 설정한다. WORKDIR /app # 현재 Dockerfile 경로에 있는 파일들 전부를 도커 이미지 내부 /app 경로에 복사한다. COPY . /app # package.json 파일을 설치 RUN npm install # 만약 node 앱에 80포트로 서버를 열어놨다면 container의 외부 포트를 설정해주어야한다. EXPOSE 80 # 마지막 server.js 파일을 실행한다. RUN node server.js # CMD의 경우 이미지 기반으로 컨테이너가 실행.. 2022. 6. 19.
Docker - Container, Image 앞서 언급했듯이 도커로 작업할 때 컨테이너뿐만 아니라 이미지도 가지고 있습니다. 그 차이점은 무엇이며, 둘 모두가 필요한 이유는 무엇일까요? 컨테이너는 애플리케이션, 웹사이트, 노드 서버, 애플리케이션을 실행하는 전체 환경 등, 무엇이든 포함하는 작은 패키지라는 것입니다. 즉, 컨테이너에 소프트웨어 실행할 수 있는 앱이 존재합니다. 결국 그 앱을 여러분이 실행하는 겁니다. docker build 를 통해 이미지를 생성 할 수 있습니다. 이 이미지를 기반으로 여러 컨테이너를 만들 수 있습니다. 예를 들어, NodeJS 웹 서버 애플리케이션의 경우 한 번만 정의하면, 다른 시스템과 다른 서버에서 여러 번 실행할 수 있습니다. 이미지는 모든 설정 명령과 모든 코드가 포함된 공유 가능한 패키지입니다. 컨테이너는.. 2022. 6. 19.
Docker 설치 (window, linux) Windows Docker 설치 Docker Desktop을 성공적으로 설치하려면 Windows 시스템이 다음 요구 사항을 충족해야 합니다. Install Docker Desktop on Windows docs.docker.com Windows 10 Pro Enterprise 또는 Education이 있는 경우 WSL2 와 Hyper-v가 켜져 있어야 합니다. Hyper-V 설치 Enable Hyper-V on Windows 10 Install Hyper-V on Windows 10 docs.microsoft.com 먼저 Hyper-V를 활성화 하려면 powershell 에서 다음과 같은 명령어를 입력해주면 됩니다. Enable-WindowsOptionalFeature -Online -FeatureNam.. 2022. 6. 19.
Docker 그게 뭔데? 프로그래밍을 하다보면 같은 코드인데 다른 컴퓨터에서 실행하면 오류가 나는 경우가 있다. 바로 환경이 달라서 문제가 되는 것이다. 그러면 환경을 통일 시키는 방법은 없을까? 이럴 때 많이 사용되는것이 도커이다. 도커란 무엇일까요? 도커는 컨테이너 기술이며, 컨테이너를 생성하고 관리하기 위한 도구입니다. 소프트웨어 개발에서 컨테이너란 무엇이며 왜 사용해야만 하는 걸까요? 소프트웨어 개발에서 컨테이너는 표준화된 소프트웨어 유닛입니다. 기본적으로 코드 패키지이며, 해당 코드를 실행하는데 필요한 종속성과 도구가 포함되어있다는 것이 중요합니다. 예를 들어 NodeJS 애플리케이션을 구축하는 경우, NodeJS는 서버에서 JavaScript 코드를 실행하는데 사용하는 JavaScript 런타임입니다. 도커로 빌드된 .. 2022. 6. 19.
docker mysql 세팅 보호되어 있는 글 입니다. 2021. 12. 30.
Next js docker 설정 도커가 익숙하지 않으시다면 아래 블로그에서 도커란 무엇인가를 읽어보시길 추천합니다. 초보를 위한 도커 안내서 - 도커란 무엇인가? 도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이 subicura.com Deployment | Next.js Deploy your Next.js app to production with Vercel and other hosting options. nextjs.org Error message "error:0308010C:digital envelope routines::unsupported" I created the default Intell.. 2021. 11. 25.