我的开发机器是MacBook Pro,我试图在其上基于Ubuntu 16.04创建一个docker镜像来开发React-Native应用程序。我知道我可以直接在Mac上安装react native,android,cli等,但是我想避免这样做,因为docker更好地使用git CI / CD管道轻松移植代码以及维护软件包等版本。
我找不到任何合适的可行解决方案,下面提供了一些我引用的URL供您参考。
此刻,我的Dockerfile如下所示,它正在构建映像,但是Expo应用似乎没有打开我的本机应用运行。
FROM node:8.11
RUN npm install -g grunt-cli \
&& npm install -g brunch \
&& npm install -g bower \
&& npm install -g yarn \
&& npm install -g create-react-native-app \
&& npm install -g react-native-cli \
&& npm install -g expo-cli
EXPORT 3000 19000 19001
CMD ["/bin/bash"]
有人能成功设置Docker映像来开发React本机移动应用程序吗?如果是,请分享您的知识。
谢谢。
答案 0 :(得分:1)
我知道它的帖子很旧,但可能会对其他人有所帮助。
我设法在docker映像中运行expo-cli并使用VS Code进行远程开发。写了一篇博客文章解释工作流程。可以查看帖子here。
所有docker文件都被推送到git。
答案 1 :(得分:0)
我非常有信心您尝试做的事情是可能的。没有自己做,我不能说100%的自信,
但是,您的Dockerfile显然是错误的。我不知道正确的方法。那是你的工作。
我认为您需要某种方式来获取要写入容器的本机代码。例如,您可以:
假设您正在使用ubuntu机器。您刚刚安装了所有软件,签出了源代码,进行了必要的编译。您的本机应用程序已准备就绪,可以使用。您在外壳中输入“ / usr / bin / xyx a b c”,魔术就发生了。这表明您的{'k': 'b'}
命令应为“ / usr / bin / xyz a b c”。
答案 2 :(得分:0)
我刚刚解决了这个问题,并解决了您的问题。首先,您需要用EXPOSE替换EXPORT。其次,您需要在使用
调用docker机器的docker cmd处打开expo使用的端口。.... -p 3000:3000 -p 19000:19000 -p 19001:19001 -p 19002:19002 ...
最后,使用npm start运行您的应用程序,例如:
expo init AwesomeProject
cd AwesomeProject
npm start # you can also use: expo start
现在,世博会使用您的计算机IP地址和19000端口(例如,位于
)搜索此应用程序:exp://<ipaddress>:19000
还有瞧!
请记住:您将需要10+节点才能使用此选项