Я создал простое мобильное приложение React Native, используя службы AWS. Приложение использует Cloud9 в качестве IDE и размещено на экземпляре EC2. Я хочу разместить это приложение на своей машине, а не на EC2, и иметь возможность проверить его на эмуляторе. На моем MA C установлено docker, и я изменил файл docker, который использовался для размещения Expo на экземпляре EC2.
Я успешно создал образ на локальном компьютере, используя следующая команда:
docker build -t reactnative-expo .
Когда я запускаю сервер разработки React Native и Expo, я получаю сообщение об ошибке.
Dockerfile
FROM node:12
RUN mkdir -p /code
WORKDIR /code
ENV USERNAME event-user
RUN useradd -rm -d "/home/$USERNAME" -s /bin/bash -g root -G sudo -u 1005 ${USERNAME}
EXPOSE 19000
EXPOSE 19001
RUN apt-get update && apt-get install -y python-dev screen
ENV REACT_NATIVE_PACKAGER_HOSTNAME="10.0.0.2"
ENV NPM_CONFIG_PREFIX="/home/$USERNAME/.npm-global"
RUN mkdir -p ~/src \
&& mkdir ~/.npm-global \
&& npm install expo-cli --global
ENV PATH="/home/$USERNAME/.npm-global:/home/$USERNAME/.npm-global/bin:${PATH}"
RUN cd /tmp/ && git clone https://github.com/facebook/watchman.git && \
cd watchman && git checkout v4.9.0 && ./autogen.sh && \
./configure && make -j4 && make install && cd / && rm -rf /tmp/watchman
RUN npm install -g create-react-native-app expo expo-cli @aws-amplify/cli
Выполнить команду
docker run -it --rm -p 19000:19000 -p 19001:19001 \
-v "$PWD:/code" --user $UID \
-v /home/event-user/.aws:/home/event-user/.aws \
-v /home/event-user/.awsmobilejs:/home/event-user/.awsmobilejs \
-e REACT_NATIVE_PACKAGER_HOSTNAME="10.0.0.2" \
reactnative-expo:latest bash
Ошибка
docker: Error response from daemon: error while creating mount source path '/home/event-user/.aws': mkdir /home/event-user: operation not supported.