Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在H2数据库的DockerFile中定义IP地址_Docker_H2_Dockerfile - Fatal编程技术网

如何在H2数据库的DockerFile中定义IP地址

如何在H2数据库的DockerFile中定义IP地址,docker,h2,dockerfile,Docker,H2,Dockerfile,当我运行docker文件来运行H2数据库时,它会自动分配IP地址 如何按环境设置IP地址,以便docker只允许TCP连接和HTTP连接使用两个IP地址 FROM klousiaj/oracle-java:7.79 MAINTAINER J.P. Klousia <klousiaj> ENV DOWNLOAD http://www.h2database.com/h2-2016-10-31.zip ENV DATA_DIR /opt/h2-data RUN curl ${DOWNL

当我运行docker文件来运行H2数据库时,它会自动分配IP地址

如何按环境设置IP地址,以便docker只允许TCP连接和HTTP连接使用两个IP地址

FROM klousiaj/oracle-java:7.79
MAINTAINER J.P. Klousia <klousiaj>

ENV DOWNLOAD http://www.h2database.com/h2-2016-10-31.zip
ENV DATA_DIR /opt/h2-data

RUN curl ${DOWNLOAD} -o h2.zip \
    && unzip h2.zip -d /opt/ \
    && rm h2.zip \
    && mkdir -p ${DATA_DIR}

EXPOSE 8082 9092

CMD java -cp /opt/h2/bin/h2*.jar org.h2.tools.Server \
    -web -webAllowOthers -webPort 8082 \
    -tcp -tcpAllowOthers -tcpPort 9092 \
    -baseDir ${DATA_DIR}

VOLUME ${DATA_DIR}
来自klousiaj/oracle java:7.79的

维修人员J.P.Klousia
环境保护下载http://www.h2database.com/h2-2016-10-31.zip
环境数据目录/opt/h2数据
运行curl${DOWNLOAD}-o h2.zip\
&&解压h2.zip-d/opt/\
&&rm h2.zip\
&&mkdir-p${DATA_DIR}
曝光80829092
CMD java-cp/opt/h2/bin/h2*.jar org.h2.tools.Server\
-web-webAllowOthers-webPort 8082\
-tcp-tcpAllowOthers-tcpPort 9092\
-baseDir${DATA_DIR}
卷${DATA_DIR}

尽可能在docker范例中不使用任何静态IP

如果您不想让一个服务与另一个服务对话,那么可以使用docker compose文件中定义的服务名称,比如“db”

因此,从应用程序中,您可以使用
telnet db$dbport
连接到数据库,例如,就mysql而言,您可以使用
telnet db 3306

当然,db可以使用
telnet app
连接到应用程序上的anyu端口

你永远不想自己处理IP或网络,除非你真的必须这样做(非常罕见的情况)

如果要从主机访问应用程序web端口,将向主机公开该端口

version: "2"
services:
  db:
    image: klousiaj/oracle-java:7.79
  app:
    image: nginx
    port:
      - 80:80
这意味着您现在可以使用主机ip访问应用程序“wget http://:80”的nginx端口80

version: "2"
services:
  db:
    image: klousiaj/oracle-java:7.79
  app:
    image: nginx
    port:
      - 80:80