2016-05-23 3 views
1

Я создал приложение web api с использованием .net-ядра, и я хочу развернуть его в linux с помощью докеры. Как это сделать ?как развернуть .net core web api to linux machine

добавить это (--server.urls) внутри project.json в разделе "Команды", поэтому она становится так:

"commands": { 
    "web": "Microsoft.AspNet.Server.Kestrel --server.urls http://0.0.0.0:5000", 
    }, 

Это мой dockerfile

FROM microsoft/aspnet:1.0.0-rc1-update1-coreclr 

COPY . /app 

WORKDIR /app 

RUN ["dnu", "restore"] 

EXPOSE 5000/tcp 

ENTRYPOINT ["dnx", "-p", "project.json", "web"] 

I может успешно создать изображение докера, используя эту команду docker build -t myapp.

, но когда я запускаю докер

докер запуска -d -t -p 80: 5000 MyApp, он бросил ошибку

"Error response from daemon: driver failed programming external connectivity on endpoint kickass_hopper (16d5675978b188131670f391614f7f89b6ec977ae88924ae422a9a9c18768f22): iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 80 -j DNAT --to-destination 172.17.0.2:5000 ! -i docker0: iptables: No chain/target/match by that name. 
(exit status 1)." 

Кто-нибудь знает, что случилось?

+0

Это обсуждение может быть полезным для вас: [Нет Цепочка DOCKER в iptables] (https://github.com/docker/docker/issues/1871) – fedorqui

ответ

0

Это похоже на то, что у вас есть правильная конфигурация, хотя я сначала скомпоную приложение для точечного ядра, прежде чем создавать изображение докеры, просто потому, что восстановление dnu может быть темпераментным.

Вот блог я написал основанный на создании контейнера Docker с Dot Net Core API, который может помочь (хотя это основано на RC2):

http://fuzzyduckdev.blogspot.com/2016/07/aspnet-core-apis-with-docker.html

Смежные вопросы