首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Docker中使用多个操作系统映像?

问如何在Docker中使用多个操作系统映像?
EN

Stack Overflow用户
提问于 2022-04-14 11:00:36
回答 1查看 379关注 0票数 0

我目前正在使用Docker部署web应用程序的开发版本。这是我写的docker-compose.yml文件

代码语言:javascript
复制
version: '3'

services:

  nginx:
    build:
      context: ./docker/nginx
    ports:
      - "80:80"
    volumes:
      - .:/var/www/html/acme.com
      - ./docker/nginx/acme.com.conf:/etc/nginx/conf.d/acme.com.conf
    networks:
      - my_network

  php:
    build:
      context: ./docker/php
    ports:
        - "9000:9000"
    volumes:
      - .:/var/www/html/acme.com
    networks:
      - my_network

  database:
    build:
      context: ./docker/database
    volumes:
      - ./docker/database/acme.sql:/docker-entrypoint-initdb.d/acme.sql
      - ./docker/database/remote_access.sql:/docker-entrypoint-initdb.d/remote_access.sql
      - ./docker/database/custom.cnf:/etc/mysql/conf.d/custom.cnf
    ports:
        - "3306:3306"
    environment:
      MYSQL_DATABASE: ${db_database}
      MYSQL_ROOT_PASSWORD: ${db_password}
    networks:
      - my_network

networks:
  my_network:
    driver: bridge

更仔细地查看nginx和mysql的不同上下文文件如下:

./docker/nginx/Dockerfile

代码语言:javascript
复制
FROM nginx:alpine

./docker/database/Dockerfile

代码语言:javascript
复制
FROM mariadb:latest

可见,nginx图像使用的是高寒碱图像。

但是mariadb使用的是什么图像呢?我浏览了dockerhub网站,并跟踪到https://github.com/MariaDB/mariadb-docker/blob/db55d2702dfc0102364a29ab00334b6a02085ef9/10.7/Dockerfile的链接。

在这个文件中,有一个引用

代码语言:javascript
复制
FROM ubuntu:focal

这是否意味着我的停靠容器使用的是高寒linux基础映像以及ubuntu映像?如果容器中有多个linux发行版,它是如何工作的?

我该怎么做才能解决这个问题?我是否应该使用FROM命令将mariadb安装到高寒linux中,并构建自己的坞映像?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-14 11:45:56

想象一下,您的对接者组成了一个服务器场。每个服务(nginx,mariadb,.)将是运行操作系统及其软件的物理服务器。它们都是通过局域网连接在同一个子网中的。每台机器都有自己的IP地址,并且有一个DNS和DHCP服务,用于提供IP和解析名称(服务名称= DNS-Alias)。还有一个路由器阻塞来自其他子网的所有连接(=你的主机)。异常由端口映射(=forwarding) ports: - 8000:8000配置。

因此,您可以将服务器与的所有不同操作系统变体(一种类型的)混合使用。这是因为,docker不是真正的虚拟机,而是使用主机OS资源运行容器的VM灯。因此,您可以混合各种Linux发行版、或 Windows版本。每个容器都使用适合它的操作系统来实现最好的目标,例如阿尔卑斯山的足迹很小,而Ubuntu则是为了更舒适。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71870553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档