[~] docker pull mysql:5.7 5.7: Pulling from library/mysql no matching manifest for linux/arm64/v8 in the manifest list entries [~] 또 M1 Mac 이슈인 듯 하다. 아키텍쳐가 안맞아 상술한 오류가 뜬다면, --platform 을 아래와 같이 명시하여 이미지를 땡겨가자. [~] docker pull --platform linux/amd64 mysql:5.7 5.7: Pulling from library/mysql 20e4dcae4c69: Pull complete 1c56c3d4ce74: Pull complete e9f03a1c24ce: Pull complete 68c3898c2015: Pull compl..
내 경우, 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..
스터디 용도 등으로 로컬 환경에서 PostgreSQL을 띄우는 것은 생각보다 간단하다. 우선 로컬에서 PostgreSQL 이미지와 매핑할 적당한 디렉토리를 준비한 후, 다음과 같이 입력한다. [~] docker pull postgres:14.6 # 생각해보니까 요 줄은 생략해도 아래 명령어에서 알아서 될 것 같다. [~] docker run -p 35432:5432 --name my-first-pg-docker \ -e POSTGRES_PASSWORD=my-insecure-secret -e TZ=Asia/Seoul \ -v [여기에 내 로컬 환경의 적당한 경로를 입력]/pgdata:/var/lib/postgresql/data \ -d --restart always postgres:14.6 -p 옵션은 [..
아무 작업 없이 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
CodeArtifact 트와 함께 npm 구성 및 사용 - CodeArtifact 레지스트리 URL은 슬래시 (/) 로 끝나야 합니다. 그렇지 않으면 리포지토리에 연결할 수 있습니다. docs.aws.amazon.com 부서에서 운영하는 aws codeartifact 사설 npm repository의 리소스에 접근하기 위해서는 Dockerfile에 aws cli를 설치하고, aws configure를 하는 작업을 진행할 수 있다. 그러나 이 경우 다음과 같은 문제가 발생할 수 있다: aws credential이 컨테이너 내부에 남게 된다. 또는 Dockerfile에서 aws 명령어를 사용하기 위해 ACCESS_KEY_ID 또는 SECRET_ACCESS_KEY를 컨테이너에 넘겨주어야 한다. 특히 두 번째의..
참고 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로 시작하는 파일 및 디..
- Total
- Today
- Yesterday
- jQuery
- Spring Cloud Config
- IntelliJ
- react
- Linux
- mysql
- etc
- javascript
- terraform
- pgloader
- ffmpeg
- 코딩테스트
- postgresql
- dev
- shell
- Git
- Docker
- Node.js
- Database
- spring boot
- Vault
- hashicorp
- eureka
- Java
- AWS IoT
- JPA
- Gradle
- AWS
- kotlin
- Puppeteer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |