Docker for WindowsでLaradockを用いてLaravel環境構築中に、プロジェクト作成ができない
初心者のため理解度が低く、特にDockerに対する知識がありません。
そのため質問の意図が伝わりにくかったらすみません。
下記Qiitaの記事を参考に、Docker for WindowsでLaradockを用いてLaravel環境構築をしております。
https://qiita.com/de_teiu_tkg/items/bd9df11c981b966a0c3e
Laravelプロジェクト作成時に動作が止まってしまい、先に進めず困っております。
そのため、先に進める方法を教えてください。
実行したコマンド一覧
cd C:/Users/[ユーザーフォルダ]/work/dev/test01/laradock git clone https://github.com/laradock/laradock.git cd laradock cp env-example .env docker-compose up -d nginx postgres workspace docker-compose exec --user=laradock workspace bash
発生している問題
下記コマンドを実行し、プロジェクトを作成しようとしました。
docker-compose exec --user=laradock workspace bash
しかし下記のような表示がされた後、何のアクションもなく止まってしまいました。
$ docker-compose exec --user=laradock workspace bash laradock@b1d77665390b:/var/www$
エラーの原因と思われること
laradockというユーザが作成されていないようです。
$ id laradock id: ‘laradock’: no such user
しかし、C:/Users/[ユーザーフォルダ]/work/dev/test01/laradock/workspace配下のDockerfileを見たところ、冒頭部分は下記のようにユーザを作成するよう記述されておりました。
(元ファイル = https://github.com/laradock/laradock/blob/master/workspace/Dockerfile)
# #-------------------------------------------------------------------------- # Image Setup #-------------------------------------------------------------------------- # # To edit the 'workspace' base Image, visit its repository on Github # https://github.com/Laradock/workspace # # To change its version, see the available Tags on the Docker Hub: # https://hub.docker.com/r/laradock/workspace/tags/ # # Note: Base Image name format {image-tag}-{php-version} # ARG LARADOCK_PHP_VERSION ARG BASE_IMAGE_TAG_PREFIX=latest FROM laradock/workspace:${BASE_IMAGE_TAG_PREFIX}-${LARADOCK_PHP_VERSION} LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" ARG LARADOCK_PHP_VERSION # Set Environment Variables ENV DEBIAN_FRONTEND noninteractive # If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env. ARG CHANGE_SOURCE=false RUN if [ ${CHANGE_SOURCE} = true ]; then \ # Change application source from deb.debian.org to aliyun source sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && \ sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && \ sed -i 's/security-cdn.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list \ ;fi # Start as root USER root ########################################################################### # Laradock non-root user: ########################################################################### # Add a non-root user to prevent files being created with root permissions on host machine. ARG PUID=1000 ENV PUID ${PUID} ARG PGID=1000 ENV PGID ${PGID} ARG CHANGE_SOURCE=false ARG UBUNTU_SOURCE COPY ./sources.sh /tmp/sources.sh RUN if [ ${CHANGE_SOURCE} = true ]; then \ chmod +x /tmp/sources.sh && \ /bin/sh -c /tmp/sources.sh && \ rm -rf /tmp/sources.sh \ ;fi # always run apt update when start and after add new source list, then clean up at end. RUN set -xe; \ apt-get update -yqq && \ pecl channel-update pecl.php.net && \ groupadd -g ${PGID} laradock && \ useradd -u ${PUID} -g laradock -m laradock -G docker_env && \ usermod -p "*" laradock -s /bin/bash && \ apt-get install -yqq \ apt-utils \ # #-------------------------------------------------------------------------- # Mandatory Software's Installation #-------------------------------------------------------------------------- # # Mandatory Software's such as ("php-cli", "git", "vim", ....) are # installed on the base image 'laradock/workspace' image. If you want # to add more Software's or remove existing one, you need to edit the # base image (https://github.com/Laradock/workspace). # # next lines are here because there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846 libzip-dev zip unzip \ # Install the zip extension php${LARADOCK_PHP_VERSION}-zip \ # nasm nasm && \ php -m | grep -q 'zip'
私の考え
docker-compose upでコンテナを構築した際に、何らかのエラーでlaradockユーザが作成されなかったため、
Dockerfile内にある内容と同じようにlaradockユーザを作成することが出来れば解決する。
私の考えを実行する上での問題点
コマンド内の変数の値が分からない。
現状、変数の値については下記のように考えている。
${PUID} = 1000
${PGID} = 1000
${CHANGE_SOURCE} = false?
${LARADOCK_PHP_VERSION} = ?
私の考えが正しくない可能性も大いにあるかと思います。
そのため、先に進めるための助けをいただければと思います。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。