Qiitaに投稿した記事のリンクを楽にWordPressに送りたい #4-2

#シリーズ
[Qiitaに投稿した記事のリンクを楽にWordPressに送りたい #1](https://qiita.com/GodPhwng/items/d987e8d5af11fb4b7411)
[Qiitaに投稿した記事のリンクを楽にWordPressに送りたい #2](https://qiita.com/GodPhwng/items/8de81c46a3a01f53d4b5)
[Qiitaに投稿した記事のリンクを楽にWordPressに送りたい #3](https://qiita.com/GodPhwng/items/c41facd5fef42fec7f47)
[Qiitaに投稿した記事のリンクを楽にWordPressに送りたい #4](https://qiita.com/GodPhwng/items/875f5fbacec35f038d4a)

#環境
**IDE**：VisualStudio2019
**アプリケーション**：ASP.Net Core WebAPI
**フレームワーク**：.NET Core 3.1

#Dockerで実行してみる
[前回](https://qiita.com/GodPhwng/items/875f5fbacec35f038d4a)の続きになります。

VisualStudio　プロジェクトを右クリック　→　追加　→　Dockerサポート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/639c477d-3492-163b-b055-eac7d302e153.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/3075d2e6-cfad-8dd0-569b-618718f16476.png)


するとDockerfileが作成され、自動的に内容が記述されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/89eea2ab-92e7-eedf-30a9-eedb085c2a35.png)

#もう起動できるのでは！？

まずDocker DeskTopを起動しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/f42d015d-0a8c-7898-0fde-89249c7e34e4.png)

Dockerイメージを作成します。
```docker build -t test .``` 
※testはタグ名
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/ba1f1552-ddd6-88b6-399f-acf9e2a19c2f.png)

ここで`COPY failed:`のエラーになってしまった・・・

Dockerファイルを覗くと、COPYのところが　今実行しているディレクトリの1つ上からの相対パスにみてとれる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/261b58a0-85eb-fb77-1ae9-3e8844809d89.png)


１つ上の階層に行き、`-f`オプションでDockerfileをパス指定して実行すると、エラーが無くなりました。
カレントディレクトリにファイルがある場合は指定はいらないようです。
最後の「.」はおそらくDockerfileのパスが相対的にどこからか　だと思います。カレントなので「.」です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/41543f47-a9fb-e065-d996-7c7bd78cc783.png)

`docker images`でイメージが作成されたことを確認します。(一番上。-t でタグ付けしたため)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/e4acd470-8695-d0fb-153b-ab0107ad03af.png)

`docker run --name qiita2wp -d -p 5000:80 qiita2wp` で起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/493f4be4-d5be-aa1d-6755-8e2838ab0c1f.png)

#動作確認
GETにアクセス
`http://localhost:5000/qiita2wpweb/get`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/fc2bfeda-eae0-895b-11bb-da5eae0c87d4.png)


エラーがでないので、正常に動いていそう・・・
それにGETではOKしか返していなかったので・・・[前回](https://qiita.com/GodPhwng/items/875f5fbacec35f038d4a)


**POSTを確認してみる**

まず、WordPress側の記事を消します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/01658955-e73c-d368-3226-6bb997c74f08.png)

ブックマークレットのURLを前回のとは少し変えてます。(httpで5000で立てたので・・・)

```JavaScript
javascript:var xhr=new XMLHttpRequest();xhr.open("POST","http://localhost:5000/qiita2wpweb/post");xhr.onreadystatechange=function(){if(this.readyState==4){alert("リクエスト完了");}};xhr.send(null);
```

ブックマークレットをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/058a50be-04db-917d-f4ab-de3accbe3036.png)

動きました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526982/f18adf29-59f0-8760-e0df-bfb8f8c60940.png)

#GitHub
[TestProject](https://github.com/GodPhwng/TestProject)

#外部の公開サーバーに配置したいが・・・
このアプリをQiitaのWebhookから呼べるように、外部に公開したいのですが
サーバーレンタルするなり、クラウド契約するなり、すぐにはできないのとお金がかかりそう・・・

WordPressは先輩が借りているところのを使わせてもらっているのですが
そこにこのアプリも置かせてもらえたらいいな・・・確認しよ・・・

~~外部公開している場所に置けた場合は、Webhookからの呼び出しの手順もやってみようと思います。~~
→置けませんでしたーｗ
ローカルでたまに動かして、記事を同期しようと思います。