목록DevOps & Infra/Docker (19)
오늘도 한 뼘 더

# 문제 Docker 관련 환경변수를 변경하고 docker를 재시작하는 과정에서 다음과 같은 에러가 발생 $ sudo systemctl restart docker >> Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. 이후에 docker 컨테이너 상태를 확인해보려고 했는데 이 또한 다음과 같은 에러를 반환했다 $ sudo docker ps -a >> Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the ..

# Docker 설치 https://docs.docker.com/engine/install/ubuntu/ Install Docker Engine on Ubuntu docs.docker.com apt 패키지 업데이트 및 HTTP 패키지 설치 $ sudo apt-get update $ sudo apt-get install -y ca-certificates \ curl \ software-properties-common \ apt-transport-https \ gnupg \ lsb-release 도커 설치 (1) $ sudo apt update $ sudo apt install docker-ce docker-ce-cli containerd.io (2) $ sudo apt install docker.io

# 배경 2022.06.15 - [DevOps & Infra/Docker] - [Docker] Ubuntu 서버에 Docker Registry를 사용하여 개인 Registry만들기 [Docker] Ubuntu 서버에 Docker Registry를 사용하여 개인 Registry만들기 # 배경 현재 회사에서 Jenkins를 올려놓은 서버에 개발계 서비스들이 같이 올라가 있다. 이 때문에 Jenkins가 빌드/배포를 하다가 pending이 나서 서버가 다운되면 개발계 서비스들이 모두 다운되는 baekji919.tistory.com 한 개의 서버를 두개로 분리하기 위해 사설 Docker Registry를 만들었다. 만들어진 Docker Registry를 사용해 보도록 한다. # Docker Image 만들기 1..

# 배경 현재 회사에서 Jenkins를 올려놓은 서버에 개발계 서비스들이 같이 올라가 있다. 이 때문에 Jenkins가 빌드/배포를 하다가 pending이 나서 서버가 다운되면 개발계 서비스들이 모두 다운되는 불편함이 있다. 해당 문제를 해결하기 위해 Jenkins용(빌드 서버)와 개발계 서비스들을 올리는 개발 서버를 분리하도록 한다. 빌드 서버에서 만든 Docker Image를 사용하기 위해 사설 Registry를 만들도록 한다. # Docker Registry 실행 1. Docker Registry 이미지 찾기 $ sudo docker search registry 2. Docker Image 풀 받기 $ sudo docker pull registry:latest 3. Pull 받은 이미지 확인하기 $..

## 배경 기존에 AWS ElasticBeanstalk으로 배포하던 service 프로젝트를 Docker로 배포하면서 파일에 접근을 하지 못하는 문제가 발생했다. ## 원인 해당 문제는 파일에 대한 경로를 COPY 하지 않아서 직접 명시해서 COPY한 파일 외에는 execute 파일에 묶여서 접근하지 못하는 문제였다. Dockerfile을 작성할 때 multi-stage build를 적용하면 COPY 명령어로 파일을 복사하지 않을 시 exe파일 하나로 동작이 되어 파일을 찾는데 어려움이 있다고 한다. 그래서 파일 경로를 명시하는 코드가 있다면 그 경로를 복사해야 한다고 한다. ## 해결 방법 - 기존 Dockerfile FROM golang:1.15.6 AS builder WORKDIR /go/src/s..

# 배경 - Golang으로 된 프로젝트를 빌드하는 과정에서 docker 명령어가 작동하지 않는 문제가 발생하였다. # Docker 명령어 문제 해결하기 - 다음 에러를 보고 Docker Desktop을 시작하지 않아서 생기는 문제라고 인식 - Docker Desktop을 시작했더니 다음과 같은 에러가 발생했다. - 이 문제가 window의 경우 docker를 사용하기 위해 가상화를 설정해야 하는데 이 가상화가 제대로 작동하지 않아 생기는 문제라고 한다. # 가상화 설정 1. Hyper-V가 비활성화된 경우 - GUI로 활성화 시키기 1) Window 기능에서 해당 내용에 대한 기능들을 켜준다. 2) 작업 관리자 > 가상화가 사용으로 되어있으면 된다. - window Command Line으로 가상화를 ..

1. docker 이미지 찾아보기 $ docker search mysql 2. 현재 사용 중인 버전의 mysql 이미지 다운 $ docker pull mysql:8.0.23 3. docker image 확인하기 $ docker images 4. docker 컨테이너 올리기 $ docker run -d \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=bstore1017my \ -v /var/lib/mysql:/var/lib/mysql \ --name mysql mysql:8.0.23 5. mysql 도커로 접속 $ docker exec -it mysql bash 6. mysql로 접속 $ mysql -u root -p

# Docker 빌드(이미지 만들기) docker build --tag {image name):tag . # 이미지 - 이미지 리스트 docker images - 이미지 삭제 docker rmi {image ID} - 컨테이너에서 사용중인 경우 컨테이너를 삭제 후 이미지 삭제 또는 강제 삭제가 가능하다. docker rmi -f {image ID} - 사용되지 않는 이미지 삭제하기 $ docker image prune -f # 컨테이너 - 실행중인 컨테이너 리스트 보기 docker ps - 전체 컨테이너 리스트 보기 docker ps -a - 컨테이너 시작 docker start {container name} - 컨테이너 중지 docker stop {container name} - 컨테이너 삭제 dock..

Window 10부터는 Docker Desktop을 설치해서 사용이 가능하도록 지원을 해주는 데 이를 위해서는 두가지 설정이 먼저 진행 되어야한다. 설치 전 시스템 설정 1. 가상화 활성화하기 - 작업관리자 > 성능 에서 가상화가 사용으로 되어있는지 확인 2. Hyper-V 켜기 - 제어판 > 프로그램 및 기능 > Window 기능 켜기/끄기 > Hyper-V 체크 Docker 설치하기 1. 도커 설치 파일 다운로드 / 설치 https://hub.docker.com/editions/community/docker-ce-desktop-windows/ Docker Desktop for Windows by Docker | Docker Hub We and third parties use cookies or sim..