サイトアイコン WorldPress Fun

docker in node の備忘録

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入れたけど、バージョンで怒られた話

nodeのバージョンが面倒くさいので、すべてがNになる

モバイルバージョンを終了