docker: make dockerfile build from local source

This commit is contained in:
Nick Peng
2022-06-12 00:51:19 +08:00
parent d185b78836
commit c0f4c72626
2 changed files with 14 additions and 15 deletions

View File

@@ -1,18 +1,17 @@
FROM debian:buster-slim
FROM ubuntu:latest as smartdns-builder
RUN apt update && \
apt install -y git make gcc libssl-dev && \
git clone https://github.com/pymumu/smartdns.git --depth 1 && \
COPY . /smartdns/
RUN apt update && \
apt install -y make gcc libssl-dev && \
cd smartdns && \
sh ./package/build-pkg.sh --platform debian --arch `dpkg --print-architecture` && \
dpkg -i package/*.deb && \
cd / && \
rm -rf smartdns/ && \
apt autoremove -y git make gcc libssl-dev && \
apt clean && \
rm -rf /var/lib/apt/lists/*
sh ./package/build-pkg.sh --platform debian --arch `dpkg --print-architecture`
EXPOSE 53/udp
VOLUME "/etc/smartdns/"
FROM ubuntu:latest
COPY --from=smartdns-builder /smartdns/package/*.deb /opt/
RUN dpkg -i /opt/*.deb && \
rm /opt/*deb -fr
CMD ["/usr/sbin/smartdns", "-f"]
EXPOSE 53/udp
VOLUME "/etc/smartdns/"
CMD ["/usr/sbin/smartdns", "-f", "-x"]

View File

@@ -1458,7 +1458,7 @@ static struct dns_ptr *_dns_conf_get_ptr(const char *ptr_domain)
key = hash_string(ptr_domain);
hash_for_each_possible(dns_ptr_table.ptr, ptr, node, key)
{
if (strncmp(ptr->ptr_domain, ptr_domain, DNS_MAX_CNAME_LEN) != 0) {
if (strncmp(ptr->ptr_domain, ptr_domain, DNS_MAX_PTR_LEN) != 0) {
continue;
}