首页 > 其他分享 >docker-compose3中网络通信

docker-compose3中网络通信

时间:2024-03-09 12:11:07浏览次数:27  
标签:网络通信 容器 compose nginx001 网络 compose3 docker mynet

不同docker-compose中容器之间网络通信

A docker-compose文件中创建网络,并启动

version: "3"
services:
  nginx001:
    container_name: nginx001  #容器名称
    domainname: nginx001  #设置容器的域名。当容器需要与其他容器或主机进行通信时,可以使用域名来进行寻址。
    hostname: nginx001 #参数用来设置容器的主机名。主机名是容器在网络中的唯一标识符,可以用来识别和定位容器。
    image: nginx:1.24 # 镜像
    restart: always # 重启策略
    ports:
      - "8000:80"
    networks:  # 使用网络
      mynet:   # 使用自定义网络名称

networks:  #定义网络
  mynet:   # compose中网络名称
    name: mynet  # 实际docker中网络名称 docker network ls 查看的名称
    driver: bridge  # 网络名称

B docker-compose文件使用A中创建网络,并启动

version: "3"
services:
  nginx002:
    container_name: nginx002
    domainname: nginx002
    hostname: nginx002
    image: nginx:1.24
    restart: always
    ports:
      - "8001:80"
    networks:
      - mynet  #服务使用指定创建好的网络

networks: # 定义网络
  mynet:  # 网络名称,表示使用A中docker-compos中已创建好的docke网络名称
    external: true  # true表示使用A中docker-compos中已创建好的docke网络,没有则启动报错.

注意

  • 2个compose的yaml文件,不要放在一起,不然提示警告.
    • WARN[0000] Found orphan containers ([nginx001]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.

参考

标签:网络通信,容器,compose,nginx001,网络,compose3,docker,mynet
From: https://www.cnblogs.com/colin88/p/18062484

相关文章

  • 别人安装的dockers 需要知道安装路径
    [root@guoguodongredis]#dockerps|greprediseed8f8ae2748redis:6.2.6"docker-entrypoint.s…"4daysagoUp4days0.0.0.0:6379->6379/tcp,:::6379->6379/tcp......
  • springboot项目构建docker镜像
    springboot项目构建docker镜像springboot项目构建成docker镜像的两种方式手动方式:将springboot项目打成一个jar包,将jar包上次到服务器的指定目录下(具备docker环境),然后在同一目录下编写Dockerfile文件,通过dockerbuild命令构建镜像,之后把镜像发布到远程仓库中。半自动方式:......
  • 理解 Docker 容器中 UID 和 GID 的工作原理
    理解用户名、组名、用户ID(UID)和组ID(GID)在容器内运行的进程与主机系统之间的映射是构建安全系统的重要一环。如果没有提供其他选项,容器中的进程将以root用户身份执行(除非在Dockerfile中提供了不同的UID)。本文将解释这一工作原理,如何正确授予权限,并提供示例加以说明。逐步分析uid/g......
  • 在Docker中,怎么快速查看本地的镜像和容器?
    在Docker中,查看本地的镜像和容器分别可以通过以下两条命令来快速实现:1.查看本地镜像要查看本地计算机上存储的所有Docker镜像,可以使用dockerimages命令。这个命令会列出所有可用的镜像,包括镜像的存储库名称、标签、镜像ID、创建时间和所占用的空间。dockerimages输出示例:......
  • 在Docker中,如何实现退出容器时候自动删除?
    在Docker中,要实现容器在退出时自动删除,可以在运行容器时使用--rm标志。--rm参数会指示Docker在容器退出后立即删除容器。以下是具体的命令示例:dockerrun--rm<image-name><command>例如,如果要运行一个基于Ubuntu镜像的容器,并在容器运行完cat/etc/hosts命令后自动删除容......
  • 在Docker中,构建镜像应该遵循哪些原则?
    构建Docker镜像时,应当遵循以下一系列最佳实践和原则,以确保镜像的高效、安全和易于维护:镜像最小化:选择尽可能小的基础镜像,如AlpineLinux,或者针对特定场景选择轻量级的基础镜像。只安装应用程序运行所必需的软件包和服务,避免无关组件和文件。在构建过程中清理临时文件和构建......
  • 在Docker中,如何批量清理临时镜像文件?
    在Docker中,所谓的“临时镜像”或“虚悬镜像”(danglingimages)是指那些没有被任何容器引用的层,通常是在构建新镜像时遗留下来的中间层。要批量清理这类镜像,你可以使用dockerimages命令结合一些过滤条件来找到它们,然后用dockerrmi命令删除。以下是批量清理临时镜像文件的步骤......
  • 在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
    在Docker中,当一个容器退出(stoppedorexited)后,它将不再处于运行状态,因此,通过dockerps命令默认情况下将无法看到已退出的容器。然而,这并不意味着容器内的数据会丢失。容器退出时,其存储层中的数据通常是保留的,除非你明确地删除了容器。这意味着即便容器停止运行,只要你没有使用d......
  • Window10使用Docker-Desktop自带k8s和dashboard配置本地k8s开发环境
    安装Docker-DesktopInstallDockerDesktoponWindows下载地址:https://docs.docker.com/desktop/install/windows-install/打开Docker-Desktop,启用Kubernetes打开Docker-Desktop,启用Kubernetes点击左上角:设置,选择Kubernetes选项卡,启用Kubernetes,点击Apply&restart注意:最......
  • Docker Compose一键搭建安全测试靶场
    1.Docker快速安装1.1.ubuntu系统步骤一:安装必要的一些系统工具sudoapt-getupdatesudoapt-get-yinstallapt-transport-httpsca-certificatescurlsoftware-properties-common步骤二:安装GPG证书curl-fsSLhttps://mirrors.aliyun.com/docker-ce/linux/ubuntu/gp......