软件测试学习笔记丨 Docker 网络模式与 Docker-compose 介绍
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/29882
一,docker 与虚拟机解析
1,架构区别
虚拟机是有独立内核的,是一个独立完整的虚拟化方案。
Docker 虚拟化软件,没有虚拟化操作系统(没有隔离内核,使用宿主机的内核)。
2,使用场景区别
部署测试(TO B)只能用虚拟机
需要挑内核的场景都不能用 Docker
二,Docker 网络模式
1,bridge 网桥模式
Docker 安装启动后会在宿主主机上创建一个名为 docker0 的虚拟网桥,处于七层网络模型的数据链路层,后续每当我们创建一个新的 docker 容器,在不指定容器网络模式的情况下,docker 会通过 docker0 与主机的网络连接,docker0 相当于网桥。
使用 bridge 模式新创建的容器,容器内部都会有一个虚拟网卡,名为 eth0,容器之间可以通过容器内部的 IP 相互通信。
命令: docker run -d -name tomcat01 --net=bridge -p 8085:80 tomcat:latest
2,host 模式
如果指定的 host 模式容器不会拥有一个独立 network namesace,而是与宿主主机共用 network namesace。也就说明容器本身不会有的网卡信息,而是使用宿主主机的网络信息。容器除了网络,其他比如文件系统、进程等依然都是隔离的。
命令:指定 --net=host
3,container 模式
container 模式和指定的容器共享,两者之间除了网络共享(网卡、主机名、IP 地址),其他方面还是隔离的。
命令:docker run -d -name tomcat02 --net=container:name/id -p 8000:80 tomcat:latest
三,Docker-compose
简介
Docker-compose 是用于定义和运行多容器的 Docker 应用程序的工具。通过 Compose,可以使用 YAML 文件来配置应用程序的服务。
Compose 的使用一般分为三步:
使用 Dockerfile 定义应用程序的环境,以便可以在任何地方复制它。
在 docker-compose.yml 中定义组成应用程序的服务,以便它们可以在隔离的环境中一起运行。
运行 docker-compose up,然后 Compose 启动并运行您的整个应用程序。
安装
macOS、Windows 系统使用的 Docker Desktop 默认已经安装。
Linux 系统:
Releases · docker/compose · GitHub
更改权限:chmod +x /usr/local/bin/docker-compose
查看版本:docker-compose version
常用命令
查看配置 :docker-compose config
后台启动 yaml 文件里的容器 :docker-compose up -d
构建镜像:docker-compose build
下载镜像:docker-compose pull
查看运行的容器 :docker-compose ps
查看容器进程 :docker-compose top
启动:docker-compose start
停止:docker-compose stop
获取更多相关知识
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/711d0f43d6af6011ff7a8dd4f】。文章转载请联系作者。
评论