[Docker] permission denied while trying to connect to the Docker daemon socket at unix 에러 해결
·
DevOps/Docker
Docker를 컨테이너에서 실행하거나, 호스트의 Docker 소켓(/var/run/docker.sock)을 컨테이너에 마운트하여 사용하는 경우, 예상치 못한 권한 문제로 인해 Docker 명령이 작동하지 않을 때가 있습니다. 이 글에서는 Docker 소켓 접근 권한 문제를 해결하는 방법을 단계별로 안내합니다.1. 증상[runner@ae8762224dd7 /]$ docker pspermission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json": dial unix /var/run/do..
[Docker] DockerHub에 이미지 올리기
·
DevOps/Docker
🐳이미지 저장소도커는 빌드한 이미지를 서버에 배포하기 위해 직접 파일을 복사하는 방법 대신 도커 레지스트리(Docker Registr)y라는 이미지 저장소를 사용한다.도커 명령어를 이용하여 이미지를 레지스트리에 push 하고 다른 서버에서 pull 받아 사용하는 구조로 git과 비슷하다고 생각하면 될 것 같다.도커 레지스트리는 오픈소스로 무료로 설치할 수 있고 설치형이 싫다면 도커(Docker Inc.)에서 서비스 중인 도커 허브Docker Hub를 사용할 수 있다.🐳Docker Hub도커 허브는 도커에서 제공하는 기본 이미지 저장소로 ubuntu, centos, debian등의 베이스 이미지와 ruby, golang, java, python 등의 공식 이미지가 저장되어 있다.일반 사용자들이 만든 이..
[Docker] Docker 권한 설정하기
·
DevOps/Docker
실행 환경Ubuntu 22.04🐳Docker 권한 설정Docker 에서 모든 도커 관련된 작업이 root 사용자에게만 권한이 허용되어 있기 때문에도커 명령어를 입력하기 위해서는sudo를 앞에 붙여주어야만 가능하다.이를 root 계정이 Host의 기본 유저에게 권한을 주도록 바꿔볼 것이다.아래 명령어는 새로운 터미널을 띄어서 수행하도록 하자!sudo usermod -a -G docker [사용자 이름] # [사용자이름]에게 권한주기sudo service docker restart위 처럼 명령어를 입력한 후 vm을 다시 시작해보자.아까와 똑같은 명령어를 sudo를 적지 않아도 잘 실행 됨을 확인 할 수 있다.이제 도커 세팅을 마쳤으니 제대로 실습해보자 !다음게시글 -> [Docker] Docker 컨테..
[Docker] 도커 설치하기
·
DevOps/Docker
실행 환경Ubuntu 22.04🐳Docker 설치⭐공식 문서 링크1. 우분투 시스템 패키지 업데이트리눅스 계열 운영체제에서 쓰이는 패키지 관리 툴인 apt를 최신 버전으로 업데이트 한다sudo apt-get update2. 필요한 패키지 설치sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-commonapt-transport-https : https를 통해 데이터나 패키지에 접근할 수 있다. (링크)ca-certificates : Certificate Authority - certificates라는 뜻으로 SSL기반 웹 애플리케이션이 SSL연결의 진위여부를 판별할 수 있게 해준다.cur..
[Docker] 버츄얼박스(VirtualBox) & 우분투(Ubuntu) 설치
·
DevOps/Docker
🐳버츄얼박스(VirtualBox) & 우분투(Ubuntu) 다운로드도커는 리눅스 컨테이너 기반의 기술이기 때문에 윈도우나 맥에서 실습하기 위해서는 가상의 리눅스 환경을 만들어 주어야한다.이를 위해 Vitrual Box와 Ubuntu를 사용하여 실습을 진행하려 한다.버츄얼 박스 버전 : VirtualBox-6.1.50-161033-Win우분투 버전 : ubuntu-22.04.3-desktop-amd64🔻 Ubuntu 다운로드🔻 Virtual Box 다운로드이전에 VirtualBox 7.0을 깔았을때는 아래와 같은 오류가 났다.설치 파일을 실행시켰을 때 아래와 같은 오류가 뜬다면 Microsoft Visual C++ 2019를 설치하자.🔻  Microsoft Visual C++ 2019 다운로드ARM..
[Docker] Dockerfile 기본 명령어와 최적화
·
DevOps/Docker
실행 환경VirtualBox 6.1.50CentOS🐳Dockerfile 기본 명령어FROMFROM :FROM ubuntu:16.04베이스 이미지를 지정한다.반드시 지정해야 하며 어떤 이미지도 베이스 이미지가 될 수 있다.tag 는 될 수 있으면 latest(기본값)보다 구체적인 버전(16.04)를 지정하는 것이 좋다이미 만들어진 다양한 베이스 이미지는 도커 허브에서 더 볼 수 있다. MAINTAINERMAINTAINER MAINTAINER anna@anna.comDockerfile을 관리하는 사람의 이름 또는 이메일을 정보를 적는다.빌드에 영향은 주지 않는다. COPYCOPY ... COPY . /usr/src/app파일이나 디렉토리를 이미지로 복사한다.일반적으로 소스를 복사하는데 사용한다.타겟 디렉토..
[Docker] Docker 이미지 만들고 컨테이너 생성하기
·
DevOps/Docker
실행 환경 VirtualBox 6.1.50 Ubuntu 22 🐳Docker 이미지 만들기 ( = Dockerizing) 도커는 하나의 어플리케이션을 이미지로 만들기 위해 컨테이너 상태를 그대로 이미지로 저장한다. 즉, 이미지로 만들 어플리케이션을 리눅스만 설치된 컨테이너에 설치하고 그걸 그상태 그대로 이미지로 저장한다. 가상머신의 스냅샷과 비스므리한 방식이다. 복잡한 과정이지만 좋은 샘플이 많이 공개되어 있어서 다행이다. 또한 컨테이너의 가벼운 특성과 레이어 개념을 이용하여 생성과 테스트를 빠르게 수행할 수 있다. 샘플은 Ruby로 만들어진 간단한 웹 어플리케이션을 이용할 것이다. Sinatra라는 가벼운 웹 프레임워크를 사용할 것이다. 1. 웹 어플리케이션 컨테이너 생성 들어가기에 앞서 다음 과정은 간..
[Docker] Docker 컨테이너 실행하기
·
DevOps/Docker
실행 환경 VirtualBox 6.1.50 Ubuntu 22.04 🐳Docker 버전 확인 Input sudo docker version Output Client: Docker Engine - Community Version: 25.0.1 API version: 1.44 Go version: go1.21.6 Git commit: 29cf629 Built: Tue Jan 23 23:09:23 2024 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 25.0.1 API version: 1.44 (minimum version 1.24) Go version: go1.21.6 Git commit: 71f..
[Docker] 도커의 기본 명령어
·
DevOps/Docker
🐳도커 명령어의 구조 docker [대상] [액션] [대상] : container(생략가능), image, volume, network 등 [액션] : ls, inspect, start, run 등 🐳도커 명령어 docker (container) create [이미지] 컨테이너를 생성하고 자동으로 시작하지는 않음 —name 옵션을 통해 컨테이너 명을 정할 수 있다. docker ps 실행(Up) 중인 컨테이너들의 목록을 확인 docker container ls 와 같음 docker start 컨테이너를 시작 생성해둔 컨테이너를 시작할 수 있다. docker stop 실행 중인 컨테이너를 종료 docker run 컨테이너를 시작하고 command를 실행 로컬에 이미지가 있다면 해당 이미지로 실행하고 없으면..
[Docker] 도커 엔진 아키텍처
·
DevOps/Docker
[Docker] 도커 이미지(Image)와 컨테이너(Container)
·
DevOps/Docker
🐳도커 이미지(Image)와 컨테이너(Container) 도커에서 가장 중요한 개념은 컨테이너와 이미지라는 개념이다. 이미지 (Image) 컨테이너를 만드는데 필요한 모든 파일과 설정값을 가진 읽기전용(Read-only) 템플릿. 실행에 필요한 파일과 설정값 등을 포함하고 있는 도커파일을 만든 후 DockerFile을 빌드하여 이미지를 생성한다. 하나의 이미지로 여러 개의 도커 컨테이너를 생성할 수 있으며 도커 이미지를 수정하여도 이미 생성하여 실행 중인 도커 컨테이너에는 영향을 주지 않는다. 마치 도넛 레시피로 도넛을 만들고 도넛 레시피를 변경한 것과 같다. Docker 레이어(Layer) 저장방식 도커 이미지의 내용이 일부 수정되었을 때 도커 이미지에 들어있는 모든 파일들을 다시 다운 받는 것은 매우..
[Docker] Docker와 컨테이너(Container) 그리고 어플리케이션의 배포 환경의 변화 (VM vs Docker)
·
DevOps/Docker
🐳Docker 란 ? 컨테이너 기반의 오픈소스 가상화 플랫폼 도커는 컨테이너를 관리하는 도구인 “컨테이너 런타임” 중 하나로 가장 유명한다. 컨테이너 (Container) 구동하려는 어플리케이션의 코드 뿐만 아니라 그 외에 필요한 부수적인 실행 환경까지 감싸서, 어디서든 쉽게 실행 할 수 있도록 해주는 제공하는 소프트웨어의 표준단위 컨테이너 박스에 다양한 화물을 넣을 수 있도록 규격화 되어 있고 트레일러와 같이 다양한 운송 수단으로 쉽게 옮길 수 있듯이 다양한 프로그램, 실행환경을 컨테이너로 추상화 하고 동일한 인터페이스르 제공해 프로그램의 배포와 관리를 단순하게 해주는 기술이다. 컨테이너 하나면 ! 조립PC, AWS, Azure, Google Cloud 등 어디서든 빠르고 안정적으로 실행할 수 있다. ..