写点什么

软件测试学习笔记丨 Docker 网络模式与 Docker-compose 介绍

作者:测试人
  • 2024-02-27
    北京
  • 本文字数:1072 字

    阅读完需:约 4 分钟

本文转自测试人社区,原文链接: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 的使用一般分为三步:

  1. 使用 Dockerfile 定义应用程序的环境,以便可以在任何地方复制它。

  2. 在 docker-compose.yml 中定义组成应用程序的服务,以便它们可以在隔离的环境中一起运行。

  3. 运行 docker-compose up,然后 Compose 启动并运行您的整个应用程序。

安装

  • macOS、Windows 系统使用的 Docker Desktop 默认已经安装。

  • Linux 系统:

  • Releases · docker/compose · GitHub

curl "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
复制代码
  • 更改权限: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

获取更多相关知识


发布于: 刚刚阅读数: 4
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试学习笔记丨Docker网络模式与Docker-compose介绍_软件测试_测试人_InfoQ写作社区