Docker容器间通信

Docker中容器间的通信方式有哪些?

1.通过容器ip访问
容器重启后,ip会发生变化。所以通过容器ip访问不是一个好的方案。

2.通过宿主机的ip:port访问
通过宿主机的ip:port访问,只能依靠监听暴露出的端口的进程来进行有限的通信。

3.通过link建立连接(官方不推荐使用)

4.通过Docker桥接网络实现容器间相互访问(推荐)

第1/2种方式比较简单,在此主要讲述下第3/4种方式。

通过link建立连接

Docker常用命令

Docker基础命令

systemctl start docker 启动docker

systemctl stop docker 关闭docker

systemctl restart docker 重启docker

systemctl status docker 查看docker状态

docker version 查看版本信息

docker info 查看docker信息

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容器化技术

什么是Docker?

Docker 是一个开源的应用容器引擎,基于Go语言开发。让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上。容器是完全使用沙箱机制,不同容器之间是相互隔离的,可以通过网络互相通信。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

一个完整的Docker由以下几个部分组成:
Docker Client客户端
Docker Daemon守护进程
Docker Image镜像
Docker Container容器