IT/doker 3

[도커] 디비와 워드프레스 같은 네트워크로 묶어 주기

도커에서 컨테이너를 생성하면 기본적으로 브리지 네트워크로 생성됩니다.여기서 착각할 수 있는 부분은, a.yml과 b.yml 각각에서 생성한 컨테이너들이 같은 브리지 네트워크로 잡힐 것이라는 생각입니다.물론 저만 그랬을 수도 있습니다. 그래서 많은 시간을 허비하게 되었습니다.이런 경우에는 별도의 네트워크를 생성하고, 각 파일에서 외부 네트워크 사용을 활성화해야 합니다.예제를 통해 살펴보도록 하겠습니다.네트워크 부분을 유심히 살펴보세요. 1. 네트워크 생성docker network create my_network2. 디비에서 네트워크 설정version: '3.8'services: maria: image: mariadb:10.5.8 container_name: maria ports: ..

IT/doker 2024.08.12

[도커] 도커컴포트에서 환경 변수 적용

그동안 보안보다는 개발의 편의성에 집중했었다.그러다 보니 디비 비밀번호를 형상관리에 같이 커밋해서 사용하고 있었다.물론 비공개 프로젝트라 노출이 될 일이 없을 거라 믿지만 늘 찜찜했었다.이번 기회에 비밀번호를 환경변수에 저장하고 도커컴포즈도 환경변수를 사용하는 것으로 변경했다.도커컴포드에서 환경변수는 2가지 방법으로 지정 할수 있다.1 .env 파일 사용하기프로젝트 디렉토리에 .env 파일을 생성하고 환경 변수를 정의한다.#.envDB_USER=namoDB_PASSWORD=secret#ymlversion: '3'services: db: image: postgres environment: - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${..

IT/doker 2024.07.31

docker - no matching manifest for linux/arm64/v8 in the manifest list entries 메시지 발생

도커 컴포즈를 m1 맥에서 실행하는데 해당 메시지가 발생했다. 도커에서 mysql 를 받을때 이런 에러가 발생하면 1 docker pull --platform linux/x86_64 mysql cs 이런씩으로 하면 된다고 하는데 컴포즈에서는 --platform linux/x86_64 옵션이 먹지를 않았다. 대신 스크립트에서 platform: linux/x86_64 이렇게 추가를 해주니 정상적으로 동작을 했다. 1 2 3 4 5 services: db: platform: linux/x86_64 image: mysql:5.7 ... cs

IT/doker 2024.02.05