Skip to content

Conversation

KEINOS
Copy link
Collaborator

@KEINOS KEINOS commented Mar 7, 2020

Node.js 環境がないユーザー向けに Docker にも対応してみました。

マージのご検討のほど、よろぴくお願い申し上げマッスル。

@yumetodo
Copy link
Owner

yumetodo commented Mar 7, 2020

$docker run --rm --env QIITA_ACCESS_TOKEN=$QIITA_ACCESS_TOKEN -v $(pwd)/export:/home/node/export qiita_export_all:local
npx: installed 28 in 3.237s
info: Requesting items...
request limit remain: 407/1000
request limit remain: 406/1000
info: 110 items found.
info: creating image save directory...
Error: EACCES: permission denied, mkdir '/home/node/export/img' [Error: EACCES: permission denied, mkdir '/home/node/export/img'] {
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/home/node/export/img'
}

動かないんですが。あとこれどうやったら引数渡せるんでしたっけ

@KEINOS
Copy link
Collaborator Author

KEINOS commented Mar 7, 2020

あらま。引数は渡せてると思うのですが、どうやらマウントしている export のディレクトリの書き込み権限ではねられているようです。

$ sudo docker run --rm --env QIITA_ACCESS_TOKEN=$QIITA_ACCESS_TOKEN -v $(pwd)/export:/home/node/export qiita_export_all:local

上記 sudo で試してみてどうですか?もし動くようであれば、コンテナのユーザーを node でなく root にするか、11 行目の mkdir 後に 0777 にした方がいいかもしれませんね。

USER node
WORKDIR /home/node
RUN \
npm install && \
mkdir /home/node/export
WORKDIR /home/node/export
ENTRYPOINT npx qiita_export_all

@yumetodo
Copy link
Owner

yumetodo commented Mar 7, 2020

引数っていうのは 8960e8b で追加したものの話でした、失礼。

Co-Authored-By: yumetodo <yume-wikijp@live.jp>
@KEINOS
Copy link
Collaborator Author

KEINOS commented Mar 7, 2020

引数っていうのは 8960e8b で追加したものの話でした、失礼。

最後の引数が npx qiita_export_all の引数として渡されるので、以下のようになるかと思います。

$ sudo docker run \
    --rm \
    --env QIITA_ACCESS_TOKEN=$QIITA_ACCESS_TOKEN \
    -v $(pwd)/export:/hoge \
    qiita_export_all:local --output /hoge

README.md に追記も考えましたが、Docker 初心者には返って煩雑になりそうな気がしますが、どうでしょう?

@yumetodo
Copy link
Owner

yumetodo commented Mar 7, 2020

-Vとか-hを渡そうと試みたのですがどうにもうまく行きません

まあとりあえずマージします。

@yumetodo yumetodo merged commit cee8580 into yumetodo:master Mar 7, 2020
@KEINOS KEINOS deleted the dockerize-keinos branch March 7, 2020 14:15
@KEINOS
Copy link
Collaborator Author

KEINOS commented Mar 7, 2020

-Vとか-hを渡そうと試みたのですがどうにもうまく行きません

ほんとだ。オプションで渡したものが CMD に渡されないですね。コンテナ内から実行すると表示されるのに。

善処して別 PR をあげまーす。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants