承接上篇的docker简介,实际上,镜像(image)其实就是容器(container)的模板,容器都是通过镜像创建的,所以镜像中包含启动容器所需要的所有文件系统结构和内容。简单来讲,镜像是一个特殊的文件系统,它提供了容器运行时所需的程序、软件库、资源、配置等静态数据。
然而 12345 被 nginx 容器中的 80 端口映射,所以当我们访问虚拟机 12345 端口就能访问到容器内部。此时如果再有一个 nginx 容器 2 也要映射 80 端口就只能选择 12345 之外,比如 12346。
version: “3” services: halo: image: halohub/halo:2.14 restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - ./halo2:/root/.halo2 ports: - “8090:8090” healthcheck: test: interval: 30s timeout: 5s retries: 5 start_period: 30s command: - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - --spring.r2dbc.username=root # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。