Laradockのワークスペースでデスクトップ環境（GUI）を使えるようにする

# この記事で行うこと

以前書いた記事 [Dockerで開発用デスクトップ環境（GUI）を構築する](https://qiita.com/kanedaq/items/3e3dc2181e1cfd1da1d6) の続きです。Laradockのworkspaceにリモートデスクトップで入ってデスクトップ環境（GUI）を使えるようにします。

### ※ Laradockとは

Dockerで[Laravel](https://laravel.com/)を動かすためのプロジェクトです。私はまだLaravelを使う予定がないにも関わらず、開発用にLaradockを使わせていただいております。Laravel以外の機能もてんこ盛りで、開発初期に手っ取り早く開発環境を構築するには便利です。

### ※ Laradock環境構築で参考にしたページ（感謝します）
[Laravelの開発環境をLaradockを使って構築する](https://qiita.com/ucan-lab/items/90f74ce801618830e4fc)

# 環境構築

## 導入

Laradockのダウンロード

```
cd ~
mkdir work
cd work
git clone https://github.com/laradock/laradock.git
```

Docker環境の設定

```
cd laradock
cp env-example .env
```

## workspaceのベースイメージをビルド（ソフトウェアをバージョンアップするため）

ここで、インストールされるソフトウェア（PHP、workspaceのOS）のバージョンを調査する。記事に記載したのは執筆時点のバージョンです。

workspaceのベースイメージのバージョンを調べる：

```
grep FROM ~/work/laradock/workspace/Dockerfile
```

> FROM letsdockerize/laradock-workspace:2.4-${LARADOCK_PHP_VERSION}

```
grep LARADOCK_PHP_VERSION ~/work/laradock/docker-compose.yml
```

>    - LARADOCK_PHP_VERSION=${PHP_VERSION}
>    - LARADOCK_PHP_VERSION=${PHP_VERSION}

```
grep PHP_VERSION ~/work/laradock/.env
```

> PHP_VERSION=7.2

以上の情報から、PHPのバージョンは7.2、workspaceのベースイメージのバージョンは以下の通り。

>FROM letsdockerize/laradock-workspace:2.4-7.2

ところが [https://hub.docker.com/r/letsdockerize/laradock-workspace/tags](https://hub.docker.com/r/letsdockerize/laradock-workspace/tags) を見ると「2.4-7.3」があるので、.envファイルのPHP_VERSIONを7.3に設定する等して、PHPを最新バージョンに上げられると期待できる。workspaceのベースイメージの候補は以下の通り。

> FROM letsdockerize/laradock-workspace:2.4-7.3

この候補イメージのOSのバージョンを調べる。

```
docker run letsdockerize/laradock-workspace:2.4-7.3 cat /etc/issue
```

> Ubuntu 16.04.6 LTS \n \l

バージョン調査の後始末。

```
docker rmi -f letsdockerize/laradock-workspace:2.4-7.3
```

LinuxのバージョンはUbuntu 16.04だった。workspaceにリモートデスクトップで入るには、Ubuntu 18.04の方が良いので、この候補をそのまま使わず、Ubuntuのバージョンを上げる。workspaceのベースイメージをgit cloneして、

```
cd ~/work
git clone https://github.com/LaraDock/workspace
cd workspace
cp Dockerfile-73 Dockerfile
```

workspaceのベースイメージのベースイメージ（ややこしい）を調査。

```
grep FROM Dockerfile
```

> FROM phusion/baseimage:latest

workspaceのベースイメージのベースイメージのOSのバージョンを確認する。

```
docker run phusion/baseimage:latest cat /etc/issue
```

> Ubuntu 16.04.3 LTS \n \l

調査の後始末。

```
docker rmi -f phusion/baseimage:latest
```

もし、より新しいphusion/baseimageがあれば、そのOSのバージョンを調べてみる。phusion/baseimageの情報：[https://hub.docker.com/r/phusion/baseimage/tags](https://hub.docker.com/r/phusion/baseimage/tags)

masterがlatestよりも新しいので、OSのバージョンを確認する。

```
docker run phusion/baseimage:master cat /etc/issue
```

> Ubuntu 18.04.1 LTS \n \l

Ubuntu 18.04なので、これをworkspaceのベースイメージのベースイメージにする。phusion/baseimage:masterはベータ版っぽい？今回構築するのは開発環境なので、ベータ版でも良しとする。workspaceのベースイメージのDockerファイルを編集：

```~/work/workspace/Dockerfile
( ~/work/workspace/Dockerfile )

# workspaceのベースイメージのベースイメージをUbuntu 16.04 → 18.04のものに変更
- FROM phusion/baseimage:latest
+ FROM phusion/baseimage:master
```

workspaceのベースイメージをビルドする。イメージ名は「local/laradock-workspace:2.4-7.3」にした。

```
cd ~/work/workspace
docker build -t local/laradock-workspace:2.4-7.3 .
```

## オリジナルworkspace（workspace_org）をビルド

workspaceのベースイメージがビルドできたら、workspaceをビルドする。ただし名前をworkspace_orgに変更した。理由は、workspaceにデスクトップの機能を追加したいので、オリジナルのworkspaceをworkspace_orgに名前変更して、新たなworkspaceのベースイメージにするため。

```
cd ~/work/laradock
mv workspace workspace_org
mkdir workspace_desktop
```

.envファイルを以下のように編集する。

```~/work/laradock/.env
( ~/work/laradock/.env )

# コンテナ内に作られるlaradockユーザのuidとgidを、ホスト側のユーザに合わせると良い
- WORKSPACE_PUID=1000
- WORKSPACE_PGID=1000
+ WORKSPACE_PUID=[id -uの値]
+ WORKSPACE_PGID=[id -gの値]

- PHP_WORKER_PUID=1000
- PHP_WORKER_PGID=1000
+ PHP_WORKER_PUID=[id -uの値]
+ PHP_WORKER_PGID=[id -gの値]

# PHPを最新バージョンにする
- PHP_VERSION=7.2
+ PHP_VERSION=7.3
```

workspace_orgのDockerfileを以下のように編集。

```~/work/laradock/workspace_org/Dockerfile
( ~/work/laradock/workspace_org/Dockerfile )

# workspaceのベースイメージをUbuntu 18.04ベースのものに変更
- FROM letsdockerize/laradock-workspace:2.4-${LARADOCK_PHP_VERSION}
+ FROM local/laradock-workspace:2.4-${LARADOCK_PHP_VERSION}

# Set Environment Variables
ENV DEBIAN_FRONTEND noninteractive
+ 
+ # proxy経由でインターネットに接続している場合、ビルドを通すために環境変数の設定が必要。proxy経由でなければ不要。
+ ENV http_proxy='http://proxy:8080'  \
+     https_proxy='http://proxy:8080'  \
+     no_proxy='127.0.0.1,localhost'

# pgsql clientの行入れ替え（Ubuntu 18.04では、これをしないとビルドエラーになった）
-     && add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" \
-     && wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
+     && wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
+     && add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" \
```

docker-compose.ymlを以下のように編集。

```~/work/laradock/docker-compose.yml
( ~/work/laradock/docker-compose.yml )

- ### Workspace Utilities ##################################
-     workspace:
-       build:
-         context: ./workspace

+ ### Workspace Utilities (desktop) ##################################
+     workspace:
+       build:
+         context: ./workspace_desktop
+       volumes:
+         - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
+         #- ${DATA_PATH_HOST}/home:/home
+       extra_hosts:
+         - "dockerhost:${DOCKER_HOST_IP}"
+       ports:
+         - "${WORKSPACE_SSH_PORT}:22"
+         - "3389:3389"
+         # RDPのポートを公開する
+       expose:
+         - "3389"
+       tty: true
+       environment:
+         - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
+         - DOCKER_HOST=tcp://docker-in-docker:2375
+       networks:
+         - frontend
+         - backend
+       links:
+         - docker-in-docker
+     # XRDPサーバを起動する
+       command: >
+         sudo bash -c "[ -e /var/run/xrdp/xrdp.pid ] && rm /var/run/xrdp/xrdp.pid ;
+             /etc/init.d/xrdp restart && tail -F /var/log/xrdp-sesman.log"
+ 
+ ### Workspace Utilities (org) ##################################
+     workspace_org:
+       build:
+         context: ./workspace_org
```

workspace_orgをビルドする。

```
cd ~/work/laradock
docker-compose build workspace_org
```

ビルドできたら、試しにworkspace_orgを立ち上げてみる。以下を1行ずつ実行。

```
docker-compose up -d workspace_org
docker-compose ps
docker-compose exec --user=laradock workspace_org bash
php -v
cat /etc/issue
exit
docker-compose down -v
```

以下のように表示され、PHPとUbuntuのバージョンが上がっているのが確認できた。

```
$ docker-compose ps
           Name                      Command          State          Ports        
----------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh   Up      2375/tcp            
laradock_workspace_org_1      /sbin/my_init           Up      0.0.0.0:2222->22/tcp

/var/www$ php -v
PHP 7.3.3-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Mar  7 2019 20:31:49) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.3, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.3-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

/var/www$ cat /etc/issue
Ubuntu 18.04.2 LTS \n \l
```

## オリジナルworkspceをベースイメージにして、デスクトップworkspace（workspace_desktop）をビルド

次に、workspace_orgをベースイメージにして、デスクトップ機能を追加したworkspaceをビルドする。新規Dockerfileを編集。

```~/work/laradock/workspace_desktop/Dockerfile
( ~/work/laradock/workspace_desktop/Dockerfile )

FROM laradock_workspace_org

ARG PASSWD=laradock

# xrdp、lxde、日本語環境等をインストール
RUN apt-get update \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y \
      sudo \
      lxde \
      xrdp \
      ibus \
      ibus-mozc \
      language-pack-ja-base \
      language-pack-ja \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
    && apt-get clean \
    && rm -rf /var/cache/apt/archives/* \
    && rm -rf /var/lib/apt/lists/*

RUN echo "startlxde" > /etc/skel/.xsession

# リモートデスクトップのログイン用に、laradockユーザのパスワードを設定する
RUN echo laradock:${PASSWD} | sudo chpasswd

# sudoを使用できるようにする
RUN echo "ALL ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/ALL

# 日本語ロケールを設定する
RUN locale-gen ja_JP.UTF-8
ENV LANGUAGE=ja_JP:ja  \
    LC_ALL=ja_JP.UTF-8 \
    LC_CTYPE=ja_JP.UTF-8 \
    LANG=ja_JP.UTF-8
RUN apt-get update \
    && apt-get install -y tzdata
RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
    && echo 'Asia/Tokyo' > /etc/timezone
RUN locale-gen ja_JP.UTF-8 \
    && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
    && echo 'LC_CTYPE=ja_JP.UTF-8' > /etc/default/locale \
    && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
```

workspaceをビルドする。

```
cd ~/work/laradock
docker-compose build workspace
```

workspaceを立ち上げる。

```
docker-compose up -d workspace
docker-compose ps
```

以下のように表示された。

```
           Name                          Command               State                      Ports                    
-------------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh            Up      2375/tcp                                    
laradock_workspace_1          sudo bash -c [ -e /var/run ...   Up      0.0.0.0:2222->22/tcp, 0.0.0.0:3389->3389/tcp
```

workspaceが正常に上がったか確認。

```
docker-compose logs workspace
```

以下のように表示された。

```
Attaching to laradock_workspace_1
workspace_1            |  * Restarting Remote Desktop Protocol server           xrdp-sesman[29]: (29)(140060462175552)[DEBUG] libscp initialized
workspace_1            | 
workspace_1            | xrdp-sesman[29]: (29)(140060462175552)[DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350.
workspace_1            | 
workspace_1            | xrdp-sesman[30]: (30)(140060462175552)[INFO ] starting xrdp-sesman with pid 30
workspace_1            | 
workspace_1            | xrdp-sesman[29]: (29)(140060462175552)[DEBUG] Closed socket 4 (AF_INET6 ::ffff:127.0.0.1 port 3350)
workspace_1            | 
workspace_1            | xrdp-sesman[30]: (30)(140060462175552)[INFO ] listening to port 3350 on 127.0.0.1
workspace_1            | 
workspace_1            | [20190315-23:28:00] [DEBUG] Testing if xrdp can listen on 0.0.0.0 port 3389.
workspace_1            | [20190315-23:28:00] [DEBUG] Closed socket 6 (AF_INET6 :: port 3389)
workspace_1            |                                                 [ OK ]
workspace_1            | [20190315-23:28:00] [DEBUG] libscp initialized
workspace_1            | [20190315-23:28:00] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350.
workspace_1            | [20190315-23:28:00] [DEBUG] Closed socket 4 (AF_INET6 ::ffff:127.0.0.1 port 3350)
workspace_1            | [20190315-23:28:00] [INFO ] starting xrdp-sesman with pid 30
workspace_1            | [20190315-23:28:00] [INFO ] listening to port 3350 on 127.0.0.1
```

リモートデスクトップで入れるか、確認する。マイクロソフトリモートデスクトップの設定例：

```
Connection name		container_laradock
PC name				localhost
User name			laradock
Password			laradock
```

以上で、Laradockのワークスペースでデスクトップ環境（GUI）が使えるようになりました。

## （オプション）デスクトップworkspaceをベースイメージにして、更に新たなworkspace（workspace_python）をビルド

このデスクトップworkspaceをベースイメージにして、更に機能を付け加えることも可能です。
例として、Pythonインストールを加えてみます。

新たなworkspaceを作る場合、そのベースイメージのコンテナは不要なので、落として消しておく。

```
cd ~/work/laradock
docker-compose down -v
```

workspaceをworkspace_desktopに名前変更。laradock_workspaceのIMAGE IDを調べて、

```
docker images
```

以下のように表示された。

```
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
laradock_workspace         latest              9a03ce6de32f        14 minutes ago      2.43GB
laradock_workspace_org     latest              97321b240e0b        33 minutes ago      901MB
（後略）
```

Dockerイメージの名前変更。

```
docker tag [laradock_workspaceのIMAGE ID] laradock_workspace_desktop
docker rmi laradock_workspace
docker images
```

以下のように、laradock_workspaceからlaradock_workspace_desktopに名前変更された。

```
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
laradock_workspace_desktop   latest              9a03ce6de32f        18 minutes ago      2.43GB
laradock_workspace_org       latest              97321b240e0b        36 minutes ago      901MB
（後略）
```

新workspace用ディレクトリを作成する。

```
mkdir workspace_python
```

docker-compose.ymlを以下のように編集する。

```~/work/laradock/docker-compose.yml
( ~/work/laradock/docker-compose.yml )

- ### Workspace Utilities (desktop) ##################################
-     workspace:

+ ### Workspace Utilities (Python) ##################################
+     workspace:
+       build:
+         context: ./workspace_python
+       volumes:
+         - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
+         #- ${DATA_PATH_HOST}/home/laradock:/home/laradock
+       extra_hosts:
+         - "dockerhost:${DOCKER_HOST_IP}"
+       ports:
+         - "${WORKSPACE_SSH_PORT}:22"
+         - "3389:3389"
+         # RDPのポートを公開する
+       expose:
+         - "3389"
+       tty: true
+       environment:
+         - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
+         - DOCKER_HOST=tcp://docker-in-docker:2375
+       networks:
+         - frontend
+         - backend
+       links:
+         - docker-in-docker
+     # XRDPサーバを起動する
+       command: >
+         sudo bash -c "[ -e /var/run/xrdp/xrdp.pid ] && rm /var/run/xrdp/xrdp.pid ;
+             /etc/init.d/xrdp restart && tail -F /var/log/xrdp-sesman.log"
+ 
+ 
+ ### Workspace Utilities (desktop) ##################################
+     workspace_desktop:
```

workspace_desktopをベースイメージにして、Pythonを追加したworkspaceをビルドする。新規Dockerfileの例は以下の通り。

※ VSCodeをインストールしているので、Laradlckのcodeというエイリアスをwwwに変更しています。

```~/work/laradock/workspace_python/Dockerfile
( ~/work/laradock/workspace_python/Dockerfile )

FROM laradock_workspace_desktop

RUN apt-get update \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y \
      curl \
      wget \
      git \
      python3-distutils \
      llvm \
      sqlite3 \
      libssl-dev \
      libbz2-dev \
      libreadline-dev \
      libsqlite3-dev \
      libncurses5-dev \
      libncursesw5-dev \
      python-tk \
      python3-tk \
      tk-dev \
      aria2 \
      ccache \
    && apt-get clean \
    && rm -rf /var/cache/apt/archives/* \
    && rm -rf /var/lib/apt/lists/*

USER laradock

ENV HOME="/home/laradock"
ENV PYENV_ROOT="/home/laradock/.anyenv/envs/pyenv" \
    PYENV_SHELL="bash" \
    PATH="$HOME/.local/bin:$HOME/.anyenv/envs/pyenv/shims:$HOME/.anyenv/envs/pyenv/bin:$HOME/.anyenv/bin:$HOME/.yarn/bin:$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$HOME/.nvm/versions/node/v11.11.0/bin:/var/www/vendor/bin:$HOME/.composer/vendor/bin:/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin"

RUN cd $HOME \
    && git clone https://github.com/riywo/anyenv $HOME/.anyenv \
    && echo '' >> $HOME/.bashrc \
    && echo '# anyenv' >> $HOME/.bashrc \
    && echo 'if [ -d $HOME/.anyenv ]' >> $HOME/.bashrc \
    && echo 'then' >> $HOME/.bashrc \
    && echo '    export PATH="$HOME/.anyenv/bin:$PATH"' >> $HOME/.bashrc \
    && echo '    eval "$(anyenv init -)"' >> $HOME/.bashrc \
    && echo 'fi' >> $HOME/.bashrc \
    && anyenv install --force-init \
    && mkdir -p $(anyenv root)/plugins \
    && git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update \
    && anyenv install pyenv \
    && git clone https://github.com/yyuu/pyenv-pip-rehash $(pyenv root)/plugins/pyenv-pip-rehash \
    && git clone https://github.com/yyuu/pyenv-virtualenv $(pyenv root)/plugins/pyenv-virtualenv \
    && git clone https://github.com/yyuu/pyenv-ccache $(pyenv root)/plugins/pyenv-ccache \
    && git clone https://github.com/massongit/pyenv-pip-update $(pyenv root)/plugins/pyenv-pip-update \
    && sudo groupadd developer \
    && sudo gpasswd --add $(whoami) developer

USER root
RUN sudo echo 'Defaults exempt_group="developer"' > /etc/sudoers.d/developer

USER laradock
RUN pyenv install 3.7.2 \
    && pyenv global 3.7.2 \
    && pyenv versions \
    && pip install --upgrade pip \
    && pip install --user pipenv \
    && echo '' >> $HOME/.bashrc \
    && echo '# pipenv' >> $HOME/.bashrc \
    && echo 'export PATH=$HOME/.local/bin:$PATH' >> $HOME/.bashrc

RUN mkdir -p $HOME/Downloads \
    && cd $HOME/Downloads \
    && wget https://download.jetbrains.com/python/pycharm-community-2018.3.3.tar.gz \
    && wget -O code-stable-1546901613.tar.gz https://go.microsoft.com/fwlink/?LinkID=620884 \
    && mkdir -p $HOME/opt \
    && cd $HOME/opt \
    && tar xf $HOME/Downloads/pycharm-community-2018.3.3.tar.gz \
    && tar xf $HOME/Downloads/code-stable-1546901613.tar.gz \
    && sed -i -e 's/ code=/ www=/g' $HOME/aliases.sh \
    && echo '' >> $HOME/.bashrc \
    && echo '# PyCharm' >> $HOME/.bashrc \
    && echo 'export PATH=$HOME/opt/pycharm-community-2018.3.3/bin:$PATH' >> $HOME/.bashrc \
    && echo '' >> $HOME/.bashrc \
    && echo '# VSCode' >> $HOME/.bashrc \
    && echo 'export PATH=$HOME/opt/VSCode-linux-x64/bin:$PATH' >> $HOME/.bashrc
```

workspaceをビルドする。

```
docker-compose build workspace
```

workspaceを立ち上げる。

```
docker-compose up -d workspace
docker-compose ps
```

以下のように表示された。

```
           Name                          Command               State                      Ports                    
-------------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh            Up      2375/tcp                                    
laradock_workspace_1          sudo bash -c [ -e /var/run ...   Up      0.0.0.0:2222->22/tcp, 0.0.0.0:3389->3389/tcp
```

workspaceが正常に上がったか確認する。

```
docker-compose logs workspace
```

以下のように表示された。

```
Attaching to laradock_workspace_1
workspace_1            |  * Restarting Remote Desktop Protocol server           xrdp-sesman[29]: (29)(140680654812480)[DEBUG] libscp initialized
workspace_1            | 
workspace_1            | xrdp-sesman[29]: (29)(140680654812480)[DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350.
workspace_1            | 
workspace_1            | xrdp-sesman[30]: (30)(140680654812480)[INFO ] starting xrdp-sesman with pid 30
workspace_1            | 
workspace_1            | xrdp-sesman[29]: (29)(140680654812480)[DEBUG] Closed socket 4 (AF_INET6 ::ffff:127.0.0.1 port 3350)
workspace_1            | 
workspace_1            | xrdp-sesman[30]: (30)(140680654812480)[INFO ] listening to port 3350 on 127.0.0.1
workspace_1            | 
workspace_1            | [20190316-00:12:08] [DEBUG] Testing if xrdp can listen on 0.0.0.0 port 3389.
workspace_1            | [20190316-00:12:08] [DEBUG] Closed socket 6 (AF_INET6 :: port 3389)
workspace_1            |                                                 [ OK ]
workspace_1            | [20190316-00:12:08] [DEBUG] libscp initialized
workspace_1            | [20190316-00:12:08] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350.
workspace_1            | [20190316-00:12:08] [DEBUG] Closed socket 4 (AF_INET6 ::ffff:127.0.0.1 port 3350)
workspace_1            | [20190316-00:12:08] [INFO ] starting xrdp-sesman with pid 30
workspace_1            | [20190316-00:12:08] [INFO ] listening to port 3350 on 127.0.0.1
```

リモートデスクトップで入って、python3.7.2やpycharm.shやcodeが立ち上がるか確認する。

作業が終わってコンテナを落とす時：

```
cd ~/work/laradock
docker-compose stop
```

作業を再開する時：

```
cd ~/work/laradock
docker-compose up -d workspace
docker-compose ps
```