윈도우에 Docker Desktop 설치 후 도커 컨테이너를 실행하기 위해 image를 docker 명령으로 받으면 C드라이브의 용량을 차지함.큰 용량의 이미지 사용을 위해 D드라이브 설치가 필요했음. Docker Desktop 설치파일 다운로드https://www.docker.com/products/docker-desktop/ Docker Desktop: The #1 Containerization Tool for Developers | DockerDocker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux..
반응형
Tools/docker
Mysql 컨테이너 실행 docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag 기본적인 실행방법은 위와 같으나, 아래 dockerhub의 Mysql 공식이미지 문서에 따르면 https://hub.docker.com/_/mysql Mysql - Official Image | Docker Hub We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can lear..
Error Windows10에서 docker desktop 설치 후 프로그램 실행을 하면 아래와 같은 팝업이 뜨면서 실행이 되지 않는다. Solution 이 에러의 원인은 WSL2 이라는 프로그램이 설치되지 않아서 발생하는 것으로 아래 링크를 통해서 WSL2를 설치 및 재시작 후 다시 실행하면 정상적으로 실행됨. https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi ** 도커가 리눅스 기반에서 실행이 되기 때문에 윈도우에서도 리눅스가 필요한데 윈도우에서 리눅스를 사용할 수 있도록 제공하는 기능으로 WLS(Windows Subsystem for Linux)이 있음. Thank you!
Error 에러 내용 docker image build 후 docker hub에 push를 하였는데 아래와 같은 오류가 발생함. ... 714a9e16c2f0: Layer already exists c8257f62a627: Layer already exists 799760671c38: Layer already exists received unexpected HTTP status: 504 Gateway Time-out Solution 원인 이미지의 크기로 인한 문제로 크게 두가지로 문제인 듯 하다. 너무 큰 도커 이미지로 인해서 전송시간이 디폴드 timeout시간인 15초를 넘을 경우 너무 큰 도커 이미지로 인해서 docker daemon이 저장가능한 용량(default 20GB)을 초과할 경우 나의 경우..
Error docker run --name -e MYSQL_ROOT_PASSWORD= -d mysql:8 docker exec -it mysql -p MySQL의 공식 이미지를 이용하여 컨테이너를 실행하고 컨테이너의 mysql 접속시 아래와 같은 에러와 함께 로그인 안되는 문제가 발생함. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) Solution MySQL의 컨테이너가 올라가면서 MySQL 데몬이 가동되고 있지 않..
1. Dockerfile을 이용한 이미지 빌드 특정 디렉토리에 dockerfile과 jar파일 준비 - dockerfile FROM openjdk:8-jdk-alpine EXPOSE 8080 ARG JAR_FILE=target/dockertest-0.0.1-SNAPSHOT.jar ADD ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] - 이미지 생성 docker build -t dockertest . - 이미지 생성 확인 docker images Docker 이미지는 레이어로 빌드된다. 하지만 Spring Boot fat jar의 특성상 모든 애플리케이션 코드와 라이브러리가 단일 레이어에 배치된다. 즉 한 줄의 코드만 변경되더라도 전체를 다시 빌드 ..
컨테이너간 데이터 공유 docker 컨테이너에서 쓰여진 데이터들은 기본적으로 컨테이너가 삭제될 때, 함께 제거된다. Docker는 데이터를 유지 혹은 컨테이너간 공유하기 위해서 세가지 옵션을 제공함. 1. BIND MOUNT 2. VOLUME 3. TMPFS MOUNT 1. BIND MOUNT - 호스트 파일시스테므이 파일경로를 마운트하는 방법 docker run –v :: docker run –d –p 80:80 --rm –v /var/www:/user/share/nginx/html:ro nginx 권한 종류 ro : 읽기 전용 rw : 읽기 및 쓰기 2. VOLUME - docker의 volume을 생성하여 volume을 마운트하는 방법 - Docker API를 사용하여 볼륨을 관리 - Linux 및..
도커 라이프 사이클 이해하기 GIT과 유사한 명령어를 통해 이미지와 컨테이너를 관리함!! PULL : Registry에서 이미지 다운로드 PUSH : Registry에 이미지 업로드 CREATE : Container 생성 START : Container을 실행 RUN : Create와 Start를 함께 실행(로컬에 이미지가 없으면 pull까지 포함)하는 것으로 run 명령을 할 때마다 새로운 컨테이너가 생성되므로 필요한 경우에만 사용하도록 유의해야함. STOP : Container 실행 중지 COMMIT : 컨테이너를 이미지로 저장 도커 이미지 다운로드 docker pull [이미지명] $ docker pull nginx 컨테이너 생성 docker create –p [호스트포트]:[컨테이너포트] --na..
반응형