LoginSignup
4
3

More than 3 years have passed since last update.

PHP x Laravel x VSCode を Docker 上に構築 (1)

Last updated at Posted at 2019-05-04

PHP と Laravel の開発環境も Docker で整えてしまうと楽です。今回の記事では、VSCodeもDockerに含めてみました。開発環境をまるごとDockerで管理できるので、管理がしやすいのでオススメです。

登場人物

Dockerとは

Linux上でコンテナーでアプリを動作させる環境です。アプリケーションとライブラリーを同一のコンテナーで固めて、使い回すことができます。
https://ja.wikipedia.org/wiki/Docker

VSCode

https://ja.wikipedia.org/wiki/Visual_Studio_Code
Microsoft製のEditorです。Dart Pluginを入れると、補間機能などが使えて便利です。

Code-Server

VSCodeをWebサービスとして動作させることができる凄いやつです。
https://github.com/cdr/code-server

環境を作ってみる

(1) dockerfile を書く

FROM php:7
RUN apt-get update -y && apt-get install -y openssl zip unzip git
RUN apt-get install -y curl wget gnupg less lsof net-tools git apt-utils
RUN apt-get install -y emacs
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN docker-php-ext-install pdo mbstring
WORKDIR /app
COPY . /app
#RUN composer install

#CMD php artisan serve --host=0.0.0.0 --port=8181

#
# CODE-SERVER
RUN wget https://github.com/cdr/code-server/releases/download/1.939-vsc1.33.1/code-server1.939-vsc1.33.1-linux-x64.tar.gz
RUN tar xzf code-server1.939-vsc1.33.1-linux-x64.tar.gz -C ./ --strip-components 1


(2) docker image を走らせる

docker build -t php_laravel_vscode .
docker run -p 8443:8443 -p 8080:8080 -it php_laravel_vscode bash
# docke の中で
mkdir /app/w
/app/code-server /app/w --allow-http --no-auth

(3) and 'http://127.0.0.1:8443/' を ブラウザーで開く

root_page.jpg

試しに何か作ってみる

(1) Terminal -> New Terminal on VSCODE

(2) Terminal 上で以下を入力

root@8e5699b9caa4:/works/w# composer create-project --prefer-dist laravel/laravel blog
root@8e5699b9caa4:/works/w# cd blog
root@8e5699b9caa4:/works/w# php artisan  serve --host 0.0.0.0 --port 8080

(3) 'http://127.0.0.1:8080/' を ブラウザーで開く

welcome.jpg

以上です。

Code-Serverがとても便利でしたね。
https://github.com/cdr/code-server

終わり。

今回のコードは以下にまとめました。
https://github.com/kyorohiro/my-code-server/tree/master/php_laravel

PS

[a] 再開したい場合

$ docker ps -a
check id and
$ docker start < id > 
$ docker exec -it < id > bash

[b] 設定を変更したい場合
$ docker commit < id > php_laravel_vscode_xxx
$ docker run -p 8443:8443 -p 8080:8080 -it php_laravel_vscode_xxx bash

[c] マウント
$ docker run -p 8443:8443 -p 8080:8080 -v /Users/kyorohiro/w/xxx:/app/w -it php_laravel_vscode_xxx bash

4
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3