내 경우, docker-compose.yml 파일과 Dockerfile의 경로가 같아 context를 현재 경로(온점, .)로 입력하였다. version: '3.9' services: my-backend-app: image: "[이미지_태그명]:[버전]" build: context: . # Dockerfile이 있는 경로를 여기에 명시하자 요렇게 작성하면 image 속성에 명시된 이미지를 우선 pull 해보고, 없으면 build 섹션에 명시된 것을 빌드한 후에 태깅한다. 이 과정에서 원격 저장소에 없는 image를 pull 하기에(= 지금 내가 만드는 컨테이너가 원격 저장소에 있을리 없으므로) 에러가 노출되지만, 이후에 build 섹션의 내용대로 이미지를 빌드한다. 에러가 좀 꼴뵈기 싫은데, 아직까진 별..
도커파일을 아래와 같이 작성하면, cmd와 bin이라는 폴더 자체를 옮기는게 아니라 두 폴더 안의 내용물들이 모두 나래비된다. FROM golang:latest LABEL maintainer="ingnoh@tistory.com" WORKDIR /ingnoh # bin과 cmd는 폴더 COPY bin cmd go.mod go.sum main.go /ingnoh/ # for m1 mac ENV GOOS=darwin \ GOARCH=arm64 CMD [ "go", "build", "-o", "/ingnoh/bin/my_binary" ] 때문에 bin과 cmd 폴더 자체를 옮겨서 컨테이너 내부에서도 폴더 구조를 유지하고자 한다면 다음과 같이 작성해야 한다. FROM golang:latest LABEL maint..
아무 작업 없이 Dockerfile을 통해 image를 빌드한 경우, Timezone이 아래와 같은 경우가 있다. 아래의 예시는 node:14-alpine를 base image로 별다른 절차 없이 Dockerize한 경우에 해당한다! [~] docker exec -it a34 sh /ingnoh $ date Tue Nov 2 03:00:00 UTC 2021 /etc/timezone CMD [ "npm", "start" ] 수정된 Dockerfile을 토대로 다시 docker image를 build한다. 다시 docker exec -it를 통해 확인해보면... [~] docker exec -it 54e sh /ingnoh $ date Tue Nov 2 12:00:00 KST 2021
참고 Dockerfile reference docs.docker.com Docker 이미지를 빌드하는 디렉토리에 .dockerignore 파일을 작성하는 것으로 COPY나 ADD에서 임의의 파일을 제외할 수 있다. .dockerignore 파일 작성 예시 아래의 예시는 test, README.md를 제외한 .md, node_modules라는 이름을 갖는 파일 또는 디렉토리를 제외한다. # .dockerignore 파일에도 주석을 작성할 수 있다. test *.md !README*.md node_modules 사용 가능한 특수 문자 # : 주석으로 인식되며, 해당 행은 무시된다. * : 여러 글자에 해당하는 와일드카드로 사용된다. */temp* : 한 단계 하위 디렉토리에서 temp로 시작하는 파일 및 디..
[~] docker pull microsoft/dotnet:2.1-sdk 2.1-sdk: Pulling from microsoft/dotnet no matching manifest for linux/arm64/v8 in the manifest list entries [~] docker pull을 했을 때 위와같이 뜨는 경우, --platform을 아래와 같이 명시해주자. [~] docker pull --platform linux/x86_64 microsoft/dotnet:2.1-sdk 2.1-sdk: Pulling from microsoft/dotnet 08224db8ce18: Pull complete abd3caf86f5b: Pull complete 71c316554a55: Pull complete 7..
Dockerfile 간단한 크롤링 코드를 도커 이미지로 만드는 예시이다. #Dockerfile FROM node:14-alpine MAINTAINER ingnoh "ingnoh@tistory.com" WORKDIR /crawler COPY ./package*.json ./ COPY ./crawler.js ./server.js RUN npm install CMD [ "npm", "start" ] FROM: 현재 LTS 버전인 14를 사용하였음. WORKDIR: 컨테이너 내부의 워킹 디렉토리 경로를 /crawler로 명시하였음. COPY (1): npm install을 위해 package.json을 복사하였음. COPY (2): 로컬 PC의 현재 경로에 있는 crawler.js를 컨테이너 내부에 복사할 때 ..
참고: Docker Engine API v1.41 Reference docs.docker.com docker daemon 설정을 이용해 원격으로 docker 이용하기 시작하며 (이건 스킵하셔도됩니다. 거의 일기장 수준...) docker client 와 docker daemon 이 같은 machine 에 존재하지 않더라도 docker client 를 통해 원격으로 docker를 이용할 수 있다는 내용의 글입니다... senticoding.tistory.com 1. 테스트 환경 ec2 Instance 2 EA (ubuntu 18.04) docker version 20.10.2 docker API version 1.41 jq 1.5.1 2. docker.service 수정 Instance IP 주소는 1.1..
- Total
- Today
- Yesterday
- javascript
- Java
- jQuery
- pgloader
- spring boot
- mysql
- Linux
- 코딩테스트
- Vault
- Puppeteer
- ffmpeg
- Docker
- Node.js
- shell
- Database
- postgresql
- AWS IoT
- dev
- hashicorp
- AWS
- etc
- eureka
- Gradle
- Spring Cloud Config
- JPA
- react
- IntelliJ
- terraform
- kotlin
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |