docker(3):compose配置

将本地镜像发布到阿里云

有时候需要共享镜像或者习惯使用自己定义的镜像,可以注册私有仓库,国内推荐使用阿里云
步骤:
1.登录阿里云容器镜像服务:https://cr.console.aliyun.com/cn-hangzhou/repositories
2.将镜像推送到阿里云


# 登录
docker login --username=guangc201 registry.cn-hangzhou.aliyuncs.com

# 打tag
docker tag  tomcat:7 registry.cn-hangzhou.aliyuncs.com/guangchen/springboot-test:tomcat7

# 推送
docker push  registry.cn-hangzhou.aliyuncs.com/guangchen/springboot-test:tomcat7

# 拉取
docker pull registry.cn-hangzhou.aliyuncs.com/guangchen/springboot-test:tomcat7

如图:
docker(3):compose配置
docker(3):compose配置
docker(3):compose配置
docker(3):compose配置

Docker网络

Docker允许通过外部访问容器或容器互联的方式来提供网络服务。
安装Docker时,会自动安装一块Docker网卡称为docker0,用于Docker各容器及宿主机的网络通信,网段为172.0.0.1。如图:
docker(3):compose配置

Docker网络中有三个核心概念:沙盒(Sandbox)、网络(Network)、端点(Endpoint)。

  • 沙盒,提供了容器的虚拟网络栈,也即端口套接字、IP路由表、防火墙等内容。隔离容器网络与宿主机网络,形成了完全独立的容器网络环境。
  • 网络,可以理解为Docker内部的虚拟子网,网络内的参与者相互可见并能够进行通讯。Docker的虚拟网络和宿主机网络是存在隔离关系的,其目的主要是形成容器间的安全通讯环境。
  • 端点,位于容器或网络隔离墙之上的洞,主要目的是形成一个可以控制的突破封闭的网络环境的出入口。当容器的端点与网络的端点形成配对后,就如同在这两者之间搭建了桥梁,便能够进行数据传输了。

Bridge
桥接模式,主要用来对外通信的,docker容器默认的网络使用的就是bridge。
使用bridge模式配置容器自定的网络配置

# 配置容器的主机名 
docker run --name t1 --network bridge -h [自定义主机名] -it --rm busybox 

# 自定义DNS 
docker run --name t1 --network bridge --dns 114.114 -it --rm busybox 

# 给host文件添加一条 
docker run --name t1 --network bridge --add-host [hostname]:[ip] -it --rm busybox

Host
host类型的网络就是主机网络的意思,绑定到这种网络上面的容器,内部使用的端口直接绑定在主机上对应的端口,而如果容器服务没有使用端口,则无影响。

None
从某种意义上来说,none应该算不上网络了,因为它不使用任何网络,会形成一个封闭网络的容器

container
共享另外一个容器的network namespace,和host模式差不多,只是这里不是使用宿主机网络,而是使用的容器网络

Docker Compose

我们了解到可以使用一个Dockerfile模板文件来快速构建一个自己的镜像并运行为应用容器。但是在平时工作的时候,我们会碰到多个容器要互相配合来使用的情况,比如数据库加上咱们Web应用等等。这种情况下,每次都要一个一个启动容器设置命令变得麻烦起来,所以Docker Compose诞生了。

简介
Compose的作用是“定义和运行多个Docker容器的应用”。使用Compose,你可以在一个配置文件(yaml格式)中配
置你应用的服务,然后使用一个命令,即可创建并启动配置中引用的所有服务。
Compose中两个重要概念:

  • 服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
  • 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml文件中定义。

安装
Compose支持三平台Windows、Mac、Linux,安装方式各有不同。我这里使用的是Linux系统,其他系统安装方法可以参考官方文档和开源GitHub链接:
Docker Compose官方文档链接:https://docs.docker.com/compose
Docker Compose GitHub链接:https://github.com/docker/compose

Linux上有两种安装方法,Compose项目是用Python写的,可以使用Python-pip安装,也可以通过GitHub下载二进制文件进行安装。

通过Python-pip安装

#1.安装Python-pip
yum install -y epel-release
yum install -y python-pip
#2.安装docker-compose
pip install docker-compose
#3.验证是否安装
docker-compose version
#4.卸载
pip uninstall docker-compose

如图:

上一篇:C#多线程之Await&Async学习笔记


下一篇:docker tar.gz