2020. 2. 27. 23:28ㆍ개발/오늘의 소소한꿀팁
기존의 docker-compose 안에 있는 cache file 땜에 새로운 docker container를 build하고자 할 때 문제가 생겼다. 정확한 이유는 아직도 잘 모르겠으나 충돌하는..?문제인 것 같다. 링크 참조:https://stackoverflow.com/questions/37706635/in-docker-apt-get-install-fails-with-failed-to-fetch-http-archive-ubuntu-com
그리고 이를 해결하기 위하여 다음과 같은 옵션을 넣고 build를 하였다. (참조 링크: https://github.com/docker/compose/issues/1049)
docker-compose rm --all
docker-compose pull
docker-compose build --no-cache
docker-compose up -d
원래는 마지막에 up 할 때 --force-recreate라는 옵션을 넣으라고 되어있는데, 밑의 글들 읽어보니 불필요한 것 같아 안 넣었다.
그리고 docker compose.yml 에서 내가 abc라는 container의 5000번 port를 expose하고 외부요청이 들어올때 nginx를 경유하여 들어오도록 설정하였으면, nginx/sites-enabled/pd.conf에 (여기서 pd란 production의미...)
upstream abc_flask {
server abc0:5000;
server abc1:5000;
}
를 넣어줘야 한다.(abc가 flask를 사용해서 abc_flask이고, 내가 abc container를 abc0과 abc1 둘로 나눴기 때문에 위와 같은 설정)
# For internal
server {
listen 80;
server_name nginx;
include /etc/nginx/mime.types;
default_type text/html;
gzip on;
gzip_comp_level 5;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-component;
gzip_proxied any;
charset utf-8;
location /abc/ {
proxy_pass http://abc_flask/abc/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
그리고 내부 통신을 위해 이런 설정을 넣는다는데... 아직은 정확히 이해를 못하겠다. 통신 공부를 좀 더 해봐야겠다. (but how..?ㅠㅠ)
'개발 > 오늘의 소소한꿀팁' 카테고리의 다른 글
20200317 django model filter시 하위 항목 호출 (0) | 2020.03.17 |
---|---|
vim 관련 (0) | 2020.03.08 |
postgres, django_rq.enqueue, collections.counter, 그리고 docker로 환경설정.. (0) | 2020.02.29 |
20200226 ngingx&django 용량 제한 문제 (0) | 2020.02.26 |
20200221 JSON, pandas, nginx&docker 관련 (0) | 2020.02.21 |