본문 바로가기

Docker

(5)
docker awslogs UnrecognizedClientException: The security token included in the request is invalid. docker-compose를 이용해 awslogs driver를 사용하는 경우, 그리고 aws 계쩡을 새로 옮길 경우, 단순히 aws key를 environment에 export를 하면 다음과 같은 에러가 난다. 그 이유는 docker는 docker engine에서 사용하는 config file이 따로 있기 때문이다. 그래서 docker engine이 사용하는 config file에서 aws key값이 저장되어 있을 텐데 그 값을 바꿔줘야 한다. 일단 안되는 이유가 key값이 안맞기 때문인지 확인하기 위해서 다음과 같은 명령어로 docker daemon의 현재 aws key environment값을 확인해보자. systemctl show --property=Environment docker 만약 aws ..
(에러)WARNING: Some networks were defined but are not used by any service docker를 이용해서 mongo replicaset을 만들어 migration을 하는 과정 중 initialize 하려고 mongo를 들어가려는 순간 docker-compose exec demo-mongo-primary mongo -u "root" -p "1234" 이러한 에러가 나타났다. 일단 docker-compose.yaml에서 networks networks: demo-replica-set: driver: bridge ipam: driver: default config: - subnet: 172.10.99.0/24 default: external: false 그리고 docker-compose up을 하면 아주 잘떠있는 것을 확인할 수 있다. 하지만 이러한 mongo replicaset은 tls를..
(에러)bash: /usr/bin/docker-compose: /usr/bin/python: bad interpreter: No such file or directory docker-compose up 할 때 이러한 에러가 나올 때 어떻게 해야할까? 저 위의 에러는 간단히 말하면 /usr/bin/python파일이 없다라는 의미이다. 하지만, 우리가 docker를 쓰는 이유는 환경설정하기 싫고 docker 안에서 가상환경을 설치하고 싶은 것 때문이지 않나? 따라서 현재 local에서 가지고 있는 환경과는 독립적이라고 생각했기 때문에, 저런 에러가 왜 뜨는지 궁금했다. 그래서 왜 저런 에러가 뜨는지를 알아보자. 일단 docker-compose up이 아니라 docker-compose --version할 때에도 위 같은 에러가 뜬다. 그렇다면 image 빌드할 때 local python이 필요한게 아니라 docker-compose에 문제가 있음을 알 수 있다. 그래서 일단 /..
docker 문법 및 명령어 docker에서 내가 원하는 명령어를 알고싶을 때마다 다른 블로그를 찾아야 해서 새롭게 알게됬고 잊어버릴 만한 내용들을 정리용으로 작성한다. 계속 업데이트 예정 1. 모든 매핑안된 volume 삭제하기 docker volume rm $(docker volume ls -f dangling=true -q) 2. 사용하지 않는 컨테이너, 볼륨, 네트워크, 이미지, 오브젝트 일괄 삭제 docker container/volume/network/image/system prune (--filter를 이용해서 조건가능)
(미해결)(에러) 2 way of Mongod command in docker-compose Mongod를 실행할 때 docker-compose에서 command로 실행하는것과 command에서 script를 통해서 실행하는 것이 차이가 있는지 없는지 알아보자. 사실상 이 둘은 같다고 생각한다. version: "3.0" services: test_container: image: debian:10-slim volumes: - "./test:/test" command: echo "TEST" version: "3.0" services: test_container: image: debian:10-slim volumes: - "./test:/test" command: bash -c "/test/test.sh" #test.sh echo "TEST" 그러니까 command는 container가 시작되고 나..