WordPressテーマをwsl内のdockerで制作する環境を構築してて、npmが必要だった時の話
これでいいんだけど、docker使うならこれはないよね
docker compose exec wp apt install nodejs npm
ってことで、Dockerfile作った
FROM node:18.3.0-slim as node
FROM wordpress:latest as base
ENV NODE_ENV=development
SHELL ["/bin/bash", "-oeux", "pipefail", "-c"]
# copy command from docker image
COPY --from=node /usr/local/include/ /usr/local/include/
COPY --from=node /usr/local/bin /usr/local/bin
COPY --from=node /usr/local/lib /usr/local/lib
# reset symlinks
RUN corepack disable && corepack enable
COPY ./docker/wp/php.ini /usr/local/etc/php/php.ini
作ったんだけど、WordPressのcontainerにテーマはbindしてるから、docker内でnpmする必要なかった
こんなyml
services:
wp:
image: wordpress:latest
container_name: wp
volumes:
- type: volume
source: wp_data
target: /var/www/html
volume:
nocopy: true
- type: bind
source: ./mytheme
target: /var/www/html/wp-content/themes/mytheme
単純にwslにnode入れてそれで終わりだった。むしろ、そうしないとIDEとかでの操作が非常にダルいことになる。
sudo apt install nodejs npm
後日談。wslのUbuntuにnode入れたけど、バージョンで怒られた話