首页 > 其他分享 >dockerfile里的EXPOSE

dockerfile里的EXPOSE

时间:2023-05-27 22:57:55浏览次数:33  
标签:容器 8080 Dockerfile EXPOSE 端口 dockerfile 端口映射

在 Dockerfile 中,`EXPOSE` 指令用于声明容器运行时将要监听的网络端口。

`EXPOSE` 并不会实际打开容器的端口,它只是向用户和开发人员提供了容器内部服务的网络接口信息。通过在 Dockerfile 中使用 `EXPOSE`,你可以向其他人传达容器暴露的网络服务和端口,以便更好地理解容器的使用和部署需求。

要使用 `EXPOSE` 指令,你可以在 Dockerfile 中使用以下语法:

```
EXPOSE <port> [<port>/<protocol>...]
```

- `<port>`:要暴露的容器端口号。可以指定单个端口或一组端口。
- `<protocol>`:(可选)指定端口使用的网络协议,如 TCP 或 UDP。如果未指定协议,默认为 TCP。

以下是一些示例:

```
EXPOSE 80
```

上述示例指示容器将监听端口 80,但没有指定协议,默认为 TCP。

```
EXPOSE 8080/tcp 9000/udp
```

上述示例指示容器将监听端口 8080 使用 TCP 协议,以及端口 9000 使用 UDP 协议。

在 Dockerfile 中使用 `EXPOSE` 指令并不会自动将容器的端口映射到宿主机上。要将容器的端口映射到宿主机上,需要在运行 `docker run` 命令时使用 `-p` 或 `-P` 参数进行端口映射。

例如,要将容器的端口 8080 映射到宿主机的端口 8080,可以运行以下命令:

```
docker run -p 8080:8080 myimage
```

总结起来,`EXPOSE` 指令用于声明容器运行时将要监听的网络端口。它并不会自动进行端口映射,而是提供了容器暴露服务的元数据,需要在 `docker run` 命令中使用 `-p` 或 `-P` 参数来进行端口映射。

标签:容器,8080,Dockerfile,EXPOSE,端口,dockerfile,端口映射
From: https://www.cnblogs.com/tangjicheng/p/17437514.html

相关文章

  • dockerfile中安装miniconda
    要在Dockerfile中安装Miniconda,你可以按照以下步骤进行操作:1.在Dockerfile中选择一个基础映像作为你的基础操作系统。例如,你可以选择一个适合的Linux发行版,如Ubuntu或CentOS。2.在Dockerfile中添加安装Miniconda的命令。可以使用以下示例命令:```dockerfile#设......
  • vue中<script setup>中使用watch、computed、props、defineExpose、defineEmits等方法
    <scriptsetup>是在单文件组件(SFC)中使用组合式API的编译时语法糖。相比于普通的<script>语法,它具有更多优势:更少的样板内容,更简洁的代码。能够使用纯TypeScript声明props和抛出事件。更好的运行时性能(其模板会被编译成与其同一作用域的渲染函数,没有任何的中间......
  • Dockerfile练习二---------------------------构建自己的mysql镜像
    构建自己的mysql镜像 ##NYSQL的shell安装脚本##[root@dockertomcat]#cd~[root@docker~]#mkdirmysql[root@docker~]#cdmysql/[root@dockermysql]#vimrun.sh#!/bin/bashyum-yinstall\ncurses\ncurses-devel\bison\cmake\make\gcc\gcc-c++cd/optcdmysql-5......
  • dockerfile示例
    FROMconetosVOLUMES['volumes01','volumes02']容器挂载相互同步先启动一个dockerrun-it--namedocker01centos:1.0在启动一个dockerrun-it--namedocker02--volumes-fromdocker01centos:1.0--volumes-from实现数据卷挂载同步相当于实现了继承(docker02ext......
  • 低版本docker在dockerfile构建时的NO_PUBKEY问题
     问题我在ubuntu22.04的容器里面运行aptupdate的时候出现了以下报错[root@VM-16-9-centosdocker-kubuntu]#dockerrun--rm-itubuntu:22.04bashroot@8ac245b487e6:/#aptupdateGet:1http://security.ubuntu.com/ubuntujammy-securityInRelease[110kB]Get:2......
  • Dockerfile手册
    基础知识Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。Docker通过读取Dockerfile中的指令自动生成映像。dockerbuild命令用于从Dockerfile构建映像。可以在dockerbuild命令中使用-f标志指向文件系统中任何位置的Dockerf......
  • 编写Dockerfile文件
    镜像是容器的基础,容器基于镜像定义的内容来运行。镜像是多层存储,每一层是前一层基础上进行的修改。定制镜像时,一般使用Dockerfile来完成。Dockerfile是一个文本文件,其内包含了一条条的指令,每一条指令构建镜像的其中一层,因此每一条指令的内容,就是描述该层应该如何构建。Dockerfil......
  • Dockerfile、常用和不常用命令、dockerfile构建一个djagno项目、docker私有仓库、镜像
    目录1Dockerfile1.1常用和不常用命令1.2dockerfile构建一个djagno项目2docker私有仓库2.1镜像传到官方仓库2.2镜像分层2.3私有仓库搭建3dockercompose介绍4dockercompose部署flask+redis项目4.1新建flask项目app.py4.2编写Dockerfile--》用于构建flask项目的镜像4.3......
  • DockerFile之ENV使用
    一、Dockerfile代码FROMopenjdk:8-alpine#统一时间,做软链接。ln[参数][源文件或目录][目标文件或目录]RUNrm-rf/etc/localtime&&ln-snf/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeRUNmkdir-p/tzh/zkuiADDconfig.cfg/tzh/zkui/config.cfgADDzkui......
  • dockerfile 多FROM
    Docker17.05版本以后,新增了Dockerfile多阶段构建。所谓多阶段构建,实际上是允许一个Dockerfile中出现多个 FROM 指令。这样做有什么意义呢?老版本Docker中为什么不支持多个FROM指令在17.05版本之前的Docker,只允许Dockerfile中出现一个FROM指令,这得从镜像的本质说起。在《Do......