我可以在docker镜像中开发react原生应用程序吗



我的开发机器是MacBook Pro,我正试图在它上创建一个基于Ubuntu 16.04的docker映像,用于开发React Native应用程序。我知道我可以直接在Mac上安装react native、android、cli等,但我尽量避免,因为docker更适合使用git CI/CD管道轻松移植代码,并维护包等版本。

我找不到任何像样的可行解决方案,下面给出了我提到的几个URL供您参考。

  1. https://medium.com/@hmajid2301/running-expo-react-native-in-doker-ff9c4f2a4388
  2. https://github.com/react-native-community/docker-android/blob/master/Dockerfile
  3. https://github.com/symbiote/docker-project/blob/master/node/Dockerfile

我的Dockerfile目前如下,它正在构建图像,但Expo应用程序似乎没有打开我的react原生应用程序运行。

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"]

有人成功地为react原生移动应用程序的开发设置了Docker镜像吗?如果是,请分享您的知识。

谢谢。

我知道这是一篇旧帖子,但可能会帮助其他人。

我设法在docker映像中运行expo-cli,并使用VS代码进行远程开发。写一篇博客文章解释工作流程。可以在这里查看邮件。

所有docker文件都被推送到git。

我刚刚经历了这个过程并解决了您的问题。首先,您需要将EXPORT替换为EXPOSE。其次,您需要在docker cmd上打开expo使用的端口,您可以使用调用docker机器

-p 3000:3000-p 19000:19000-p 19001:19001-p 19002:1002。。。

最后,使用npm运行你的应用程序,启动方式如下:

expo init AwesomeProject
cd AwesomeProject
npm start # you can also use: expo start

现在从世博会搜索这个应用程序,使用你的电脑ipad和19000端口,如:

exp://<ipaddress>:19000

瞧!!

记住:您需要节点10+才能使用此选项

我非常有信心,您尝试做的事情是可能的。如果没有自己做过,我不能说100%的信心,

然而,您的Dockerfile显然是错误的。我不知道正确的方法是什么。那是你的工作。

我认为,不知何故,您需要将正在编写的react本机代码放入容器中。例如,您可以:

  • 在Dockerfile中使用COPY命令
  • 或者在运行时绑定挂载它(您可能正在这样做);或
  • 还有很多其他方法可以将代码放入容器中

想象一下你在一台ubuntu机器上工作。你只是安装了所有的软件,检查了源代码,做了任何必要的编译。您的react本机应用程序已准备好使用。在shell中键入"/usr/bin/xyx a b c",神奇的事情就发生了。这表明CMD命令应该是"/usr/bin/xyz a b c"。

相关内容

  • 没有找到相关文章