首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >centos 7的Docker设置

centos 7的Docker设置
EN

Stack Overflow用户
提问于 2018-12-13 03:11:03
回答 1查看 1.8K关注 0票数 1

你好,我是新手,正在尝试在centos 7环境中设置docker。我已经使用https://docs.docker.com/install/linux/docker-ce/centos/安装了docker,然后尝试使用此https://docs.docker.com/engine/examples/dotnetcore/#build-and-run-the-docker-image运行站点。我曾尝试在locahost上执行wget,并在这些端口上执行docker ip,但都无济于事。

这是我执行的代码:

代码语言:javascript
复制
docker build -t aspnetapp .

docker run -it -d --name myapp aspnetapp

这是docker文件

代码语言:javascript
复制
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 64928
EXPOSE 44340

FROM microsoft/dotnet:2.1-sdk AS build

COPY .  /app
WORKDIR /app
RUN dotnet restore "TestDocker.csproj"

FROM build AS publish
RUN dotnet publish "TestDocker.csproj" -c Release -o /app

FROM base AS final

COPY --from=publish /app .
ENTRYPOINT ["dotnet", "TestDocker.dll"]

这将完美地构建和运行

代码语言:javascript
复制
[root@local testSite]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
b6044951aa7d        aspnetapp           "dotnet TestDocker.d…"   45 minutes ago      Up 45 minutes       44340/tcp, 64928/tcp   myapp

防火墙D:

代码语言:javascript
复制
[root@local testdocker]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp9s0
  sources:
  services: ssh dhcpv6-client http https
  ports: 44340/tcp 64928/tcp  443/tcp 80/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

我以为我可以直接从浏览器访问它,但我没有运气。即使有这方面的说明,也有人能给我指个方向吗?

这就是问题所在吗?

代码语言:javascript
复制
Dec 12 14:40:58 local.office firewalld[2591]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 172.17.0.2 -d 172.17.0.2 --dport 64928 -j MASQUERADE' failed: iptables: No chain/target/match by that name.
Dec 12 14:40:58 local.office firewalld[2591]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 80 -j DNAT --to-destination 172.17.0.2:64928 ! -i docker0' failed: iptables: No chain/target/match by that name.
Dec 12 14:42:36 local.office firewalld[2591]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t filter -C DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.2 --dport 64928 -j ACCEPT' failed: iptables: Bad rule (does a matching rule exist in that chain?).
Dec 12 14:42:36 local.office firewalld[2591]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C POSTROUTING -p tcp -s 172.17.0.2 -d 172.17.0.2 --dport 64928 -j MASQUERADE' failed: iptables: No chain/target/match by that name.
Dec 12 14:43:18 local.office firewalld[2591]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w2 -t nat -C DOCKER -p tcp -d 0/0 --dport 64928 -j DNAT --to-destination 172.17.0.2:64928 ! -i docker0' failed: iptables: No chain/target/match by that name.
EN

回答 1

Stack Overflow用户

发布于 2018-12-13 03:16:53

Docker容器有自己的网络堆栈。您需要将容器上的端口公开给外部世界,并将这些端口映射到主机端口。您可以使用"-p“标志来完成此操作。

有关详情,请参阅:

https://docs.docker.com/config/containers/container-networking/

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

https://stackoverflow.com/questions/53749829

复制
相关文章

相似问题

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