Docker中容器间的通信方式有哪些?
1.通过容器ip访问
容器重启后,ip会发生变化。所以通过容器ip访问不是一个好的方案。
2.通过宿主机的ip:port访问
通过宿主机的ip:port访问,只能依靠监听暴露出的端口的进程来进行有限的通信。
3.通过link建立连接(官方不推荐使用)
4.通过Docker桥接网络实现容器间相互访问(推荐)
第1/2种方式比较简单,在此主要讲述下第3/4种方式。
通过link建立连接
Docker中容器间的通信方式有哪些?
1.通过容器ip访问
容器重启后,ip会发生变化。所以通过容器ip访问不是一个好的方案。
2.通过宿主机的ip:port访问
通过宿主机的ip:port访问,只能依靠监听暴露出的端口的进程来进行有限的通信。
3.通过link建立连接(官方不推荐使用)
4.通过Docker桥接网络实现容器间相互访问(推荐)
第1/2种方式比较简单,在此主要讲述下第3/4种方式。
通过link建立连接
Docker基础命令
systemctl start docker 启动docker
systemctl stop docker 关闭docker
systemctl restart docker 重启docker
systemctl status docker 查看docker状态
docker version 查看版本信息
docker info 查看docker信息
Docker镜像加速
国内从DockerHub拉取镜像有时会特别慢,此时可以配置国内的镜像加速器。Docker官方和国内常用加速器有:
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
阿里云:https://<你的ID>.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com
CentOS镜像加速
在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建):
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"]}
Docker官网
https://www.docker.com/
Docker架构
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类:
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
什么是Docker?
Docker 是一个开源的应用容器引擎,基于Go语言开发。让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上。容器是完全使用沙箱机制,不同容器之间是相互隔离的,可以通过网络互相通信。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
一个完整的Docker由以下几个部分组成:
Docker Client客户端
Docker Daemon守护进程
Docker Image镜像
Docker Container容器