Docker(十八)-Docker配置DNS

Linux系统配置DNS的时候有一个问题,就是你在/ect/resolv.conf文件中添加上nameserver XXX.XXX.XXX.XXX的时候,当时是生效的,但是机器重启之后就失效了,所以我们可以通过配置Network的方法来解决,但是对于docker来说,它默认是映射主机的DNS,但是如果你想在docker镜像中加上非主机的DNS,也许这个方法就解决不了问题,但是对于docker来说有两种方法来解决这个DNS的问题:

一、当我们希望我们run起来镜像的时候,/ect/resolv.conf文件中可以自动加载上我们希望的DNS,我们可以加上--dns=xx.xx.xx.xx来启动镜像

$ docker run --dns=xx.xx.xx.xx images
二、当我们在build docker镜像的时,发现并没有--dns这个参数,那我们该怎么设置DNS呢?我们可以通过修改/etc/docker/daemon.json文件来实现

vim /etc/docker/daemon.json

加入
{
"dns":[xx.xx.xx.xx]
}

即可实现。

原文地址:https://www.cnblogs.com/zhuochong/p/10070610.html

时间: 2024-10-09 13:14:09

Docker(十八)-Docker配置DNS的相关文章

Docker(十六)-Docker的daemon.json的作用

docker安装后默认没有daemon.json这个配置文件,需要进行手动创建.配置文件的默认路径:/etc/docker/daemon.json 一般情况,配置文件 daemon.json中配置的项目参数,在启动参数中同样适用,有些可能不一样(具体可以查看官方文档),但需要注意的一点,配置文件中如果已经有某个配置项,则无法在启动参数中增加,会出现冲突的错误. 如果在daemon.json文件中进行配置,需要docker版本高于1.12.6(在这个版本上不生效,1.13.1以上是生效的) 参数 

Docker(十四)-Docker四种网络模式

Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看: none模式,使用--net=none指定,该模式关闭了容器的网络功能. host模式,使用--net=host指定,容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口. bridge模式,使用--net=bridge指定,默认设置 ,此模式会为每一个容器分配.设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables na

Docker(十二)-Docker Registry镜像管理

Registry删除镜像.垃圾回收 Docker仓库在2.1版本中支持了删除镜像的API,但这个删除操作只会删除镜像元数据,不会删除层数据.在2.4版本中对这一问题进行了解决,增加了一个垃圾回收命令,删除未被引用的层数据. 部署镜像仓库 (1)启动仓库容器 $ sudo docker run -d -v /home/config.yml:/etc/docker/registry/config.yml -p 5000:5000 --name test_registry registry:2.4.1

Docker的安装,配置,更新和卸载

在Linux中开启Docker引擎 我们可以在Linux中安装Docker并运行Hello world应用程序.通过下面这些操作,我们将会学到更多有关于Docker的基础特征.我们将会学到如何: 安装Docker引擎 在一个容器中运行软件镜像 在Docker Hub中浏览一个镜像 创建你的镜像,并且在容器中运行它 创建一个Docker Hub账户和一个镜像库 创建你自己的镜像 将你的镜像放到Docker Hub中让其他人使用 该开始教程是用于减少用户碰到问题的可能性,为了能够测试成功,一定要遵循

Docker的安装基本命令配置详解

Docker 官网:https://docs.docker.com      Docker值得关注的特性:         文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里.         资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用Cgroup.         网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址.             日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索

为 docker 中的 nginx 配置 https

没有 https 加持的网站会逐渐地被浏览器标记为不安全的,所以为网站添加 https 已经变得刻不容缓.对于商业网站来说,花钱购买 SSL/TLS 证书并不是什么问题.但对于个人用户来说,如果能有免费的 SSL/TLS 证书可用将会是非常幸福的事情!Let's Encrypt 就是一个提供免费 SSL/TLS 证书的网站,由于其证书期限只有三个月,所以需要我们用自动化的方式去更新证书.本文将介绍如何为通过 docker 运行的 nginx 中的站点添加 https 支持,并自动完成证书的更新.

docker系列之网络配置

docker 网络配置 docker 安装后, 会自动在系统做一个网桥配置 docker0 . 其容器都会分配到此网桥配置下的独立, 私有 IP 地址. 如果你要自己配置桥接, 也可以把 docker0 删除掉. docker run 的时候使用参数 -b 指定你自己配置的网桥. docker 容器的网络, 是相对于实体机的私有网络. 在网桥配置下, 只要知道 IP 地址, 各容器, 及实体机本身都可以自由通信. 但是在实体机的网卡网络下, docker 容器就不可见了. 要让容器被外界访问到,

docker常用命令及配置修改

docker修改国内源仓库地址: vim /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com"] } docker常用命令 docker --help:获取docker帮助 docker container: 创建docker镜像 镜像管理: docker image --help ls : 列出镜像 images : 查看所有镜像信息 history : 查看

Docker CE安装及配置国内镜像加速教程

Docker CE安装教程 一.版本说明 2017年2月份,Docker公司发布了全新的Docker版本:V1.13.0.从2017年3月1号开始,Docker的版本命名发生如下变化: 项目 说明 版本格式 YY.MM stable版本 每个季度发行 edge版本 每个月发行 同时将Docker分成CE和EE 2个版本.CE版本即社区版(免费,支持周期三个月),EE即企业版,强调安全,付费使用. Docker 会每月发布一个 edge 版本(17.03, 17.04, 17.05...),每三个