Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/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
Macos 我可以在docker image中开发react本机应用程序吗_Macos_Docker_React Native - Fatal编程技术网

Macos 我可以在docker image中开发react本机应用程序吗

Macos 我可以在docker image中开发react本机应用程序吗,macos,docker,react-native,Macos,Docker,React Native,我的开发机器是MacBookPro,我正试图在其上创建一个基于Ubuntu 16.04的docker映像,用于开发React本机应用程序。我知道我可以直接在Mac上安装react native、android、cli等,但我尽量避免,因为docker更适合使用git CI/CD管道轻松移植代码,以及维护软件包等版本 我找不到任何像样的可行的解决方案,下面给出了我提到的几个URL供您参考 目前我的Dockerfile如下所示,它正在构建图像,但Expo应用程序似乎无法打开我的react本机应

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

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

  • 目前我的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"]
    
    是否有人成功设置Docker image以开发react本机移动应用程序?如果是,请分享您的知识


    谢谢。

    我很有信心你正在努力做的事情是可能的。如果不是我自己做的,我不能说100%的信心

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

    我认为您需要以某种方式获得您正在编写到容器中的react本机代码。例如,您可以:

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

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

    我刚刚讨论了这个问题并解决了您的问题。首先,您需要用EXPOSE替换EXPORT。其次,您需要在docker cmd上打开expo使用的端口,您使用该端口调用docker机器

    -第3000:3000页-第19000:19000页-第19001:19001页-第19002:19002页

    最后,使用npm start运行应用程序,如下所示:

    expo init AwesomeProject
    
    cd AwesomeProject
    npm start # you can also use: expo start
    
    现在从Expo开始,使用您的计算机IP地址和19000端口搜索此应用程序,如:

    exp://<ipaddress>:19000
    
    exp://:19000
    


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

    我知道这是一篇旧文章,但可能会帮助其他人

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


    所有docker文件都被推送到。

    嗨,埃默里,谢谢。我知道我在上面的Dockerfile步骤中遗漏了一些东西,因此我试图看看是否有人以前完成过这项任务。我的图像构建得很好,在我使用“docker run-it docker image tag”之后,我可以连接到图像,然后我可以创建一个空白应用程序,当我在手机上扫描Expo应用程序中的二维码时,问题突然出现,它说无法加载应用程序。