Docker 容器的使用
对参数进行解析
docker: Docker 的二进制执行文件。
run: 与前面的 docker 组合来运行一个容器。
ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo "Hello world": 在启动的容器里执行的命令
运行交互式的容器
docker -it 可以让系统弹出一个伪造终端,它类似于个极简的操作系统,很多功能会被减少。
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
启动容器(后台模式)
加一个-d 返回一串长字符没有交互命令窗口
Docker ps
可以查看相关信息。
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有 7 种:
created(已创建)
restarting(重启中)
running 或 Up(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
获取镜像
启动容器
进行有终端交互的命令,退出终端用 exit
检测容器的状态
进入容器
导出和导入容器
删除容器
设置端口信息
查看日志
查看容器进程
检查 WEB 应用程序
Docker 容器互联
新建 Docker 网络
-d:参数指定 Docker 网络类型,有 bridge、overlay。
连接容器
运行一个容器并连接到新建的 test-net 网络:
配置 DNS
我们可以在宿主机的 /etc/docker/daemon.json 文件中增加以下内容来设置全部容器的 DNS:
设置后,启动容器的 DNS 会自动配置为 114.114.114.114 和 8.8.8.8。
配置完,需要重启 docker 才能生效。
查看容器的 DNS 是否生效可以使用以下命令,它会输出容器的 DNS 信息:
手动指定容器的配置
如果只想在指定的容器设置 DNS,则可以使用以下命令:
参数说明:
--rm:容器退出时自动清理容器内部的文件系统。
-h HOSTNAME 或者 --hostname=HOSTNAME: 设定容器的主机名,它会被写到容器内的 /etc/hostname 和 /etc/hosts。
--dns=IP_ADDRESS: 添加 DNS 服务器到容器的 /etc/resolv.conf 中,让容器用这个服务器来解析所有不在 /etc/hosts 中的主机名。
--dns-search=DOMAIN: 设定容器的搜索域,当设定搜索域为 .example.com 时,在搜索一个名为 host 的主机时,DNS 不仅搜索 host,还会搜索 host.example.com。
版权声明: 本文为 InfoQ 作者【我是一个茶壶】的原创文章。
原文链接:【http://xie.infoq.cn/article/fd989f4f0bf7e549013ebdc10】。未经作者许可,禁止转载。
评论