CentOS8에서 처음 docker, docker-compose를 설치한 후 Dockerfile을 빌드할 때 DNS 어쩌고 에러가 발생한다.
나 같은 경우는 Dockerfile에서 아래 구문을 빌드할 때 자꾸 에러가 발생했었는데, 처음에는 네트워크 문제인 줄도 모르고 이 구문에 에러가 있는 줄 알고 한참을 헤맸다. 다른 서버에서는 잘만 빌드되던 게 왜 안 되는 거야(ㅠㅠ) 하면서!
RUN apt-get -y update && apt-get install -y \
openjdk-8-jdk
Err:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:2 http://archive.ubuntu.com/ubuntu xenial-updates InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu xenial-security InRelease
Temporary failure resolving 'archive.ubuntu.com'
Reading package lists... Done
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-updates/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-security/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
원인은 CentOS8부터는 firewalld
의 default 설정이 nftables
로 바뀐 것이었다. 따라서 이 설정을 이전 버전처럼 iptables
로 바꾸어 주어야 정상적으로 동작한다.
(참고) RHEL 8.0.0 RELEASE
firewalld uses nftables by default
With this update, the nftables filtering subsystem is the default firewall backend for the firewalld daemon. To change the backend, use the FirewallBackend option in the /etc/firewalld/firewalld.conf file.
firewalld
설정 변경은 firewalld.conf
설정파일의 FirewallBackend
값을 변경하면 된다.
$ sudo vi /etc/firewalld/firewalld.conf
FirewallBackend=nftables
설정을
FirewallBackend=iptables
로 변경한다.
reference
'DevOps > Docker' 카테고리의 다른 글
Docker Container Networking 간단 정리 (0) | 2019.10.15 |
---|
댓글