최초의 ASP.NET core 튜토리얼의 에러 「docker」나 「curl: (3) 에러」등을 해결한 이야기

안녕하세요.
이제 .NET core 튜토리얼에 도전하고 있습니다.
쓰는 거리에 해도 화가 난다 💦

나의 에러 해결 방법을 조금입니다만 메모해 둡니다(^▽^)



1, 튜토리얼



▼docker로 ASP.NET core를 MySQL에 연결하기
ASP.NET core and MySQL with Docker

🔰 나한테, 응? 상황이지만,
읽고 있는 C# 참고서에
"영어의 단어를 나열하고 질문하기보다 책에 쓰여 있는 예문을 사용하는 것이 지름길(라고 할까 전해지네)"
라는 것이 쓰여졌습니다.

모르는 것을 재고하면 깨끗하지 않기 때문에, 준준 진행하고 있습니다

2, 넘어진 곳!





①포트 변경


  • 튜토리얼에는 아래와 같이 되어 있으므로, 이대로 터미널에서 커맨드를 두드려 보았다!
  • # Add a new department
    > curl -X POST \
      http://localhost:5000/api/Department/ \
      -H 'cache-control: no-cache' \
      -H 'content-type: application/json' \
      -H 'postman-token: ce786dd0-5d17-bc94-81d3-8191203649cb' \
      -d '{
     "Name": "CSE"
    }'
    
  • 오류가 발생했습니다. (잘못된 )
  • curl -X POST
    Invoke-WebRequest : パラメーター名 'X' に一致するパラメーターが見つかりません。
    発生場所 行:1 文字:6
    + curl -X POST \
    +      ~~
        + CategoryInfo          : InvalidArgument: (:) [Invoke-WebRequest]、ParameterBindingException
        + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
    
  • 구그라고 보았더니, 아래의 커멘드를 사용해 앨리어스의 확인을 할 수 있다든가!
  •  gal curl
    
  • curl이되어 있지 않다! "Invoke-WebRequest"는 누구입니까?
  • CommandType     Name                                               Version    Source
    -----------     ----                                               -------    ------
    Alias           curl -> Invoke-WebRequest
    

    ★ 참고로 한 기사



    이 기사를 참고로했습니다 (감사합니다 ♡)
    htps : //에서 ゔぁd주 st. 에 xbぉg. jp/22690878/

    ".exe"와 함께 curl을 실행하면 예상대로 작동합니다.
    라고 있었으므로, 해 보았습니다.
     curl.exe http://localhost:5000/api/Department/
    

    성공(/・ω・)/

    ②DB등록이 잘 되지 않는다!



    튜토리얼대로 해보면
      -d '{
     "Name": "John Doe",
     "DepartmentID": 1,
     "Email": "[email protected]",
     "PhoneNumber": "1122334455"
    }'
    

    오류가 발생함
    curl: (3) Port number ended with ','
    curl: (3) [globbing] unmatched close brace/bracket in column 52
    

    공백 문자열이 있으면 안 될지도?
    'cache-control: no-cache' -H 'content-type: application/json'-H 'postman-token: ce786dd0-5d17-bc94-81d3-8191203649cb'
    

    성공(/・ω・)/

    ③ 충돌이 일어났다!


    Conflict. The container name "/webapp.test" is already in use by container "1cf53746a4f3e592f93bd207705f3ae04cf49e26150c027b200fdfd0c057e43d". You have to remove (or rename) that container to be able to reuse that name.
    
  • 이동하고 화가 나서 컨테이너를 삭제하려고합니다.
  • 컨테이너가 움직이면 삭제할 수 없습니다! 라고 화가 났기 때문에 stop 해 준다
  • docker stop CONTAINER名
    
  • Stop했으므로 삭제합니다!
  • docker rm CONTAINER名
    
  • 제대로 삭제할 수 있으면 다시 build에서 다시 실행하고 실행하면 성공 (/· ω ·)/
  • Successfully built ビルドのID
    Successfully tagged webapp:Debug
    

    ④run하면 이런 에러가 나왔다!



    ③의 단계에서 run하면 에러가 나왔다(일난 떠나고 또 일난)
    더 이상 끝날 것 같지 않다
    docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
    

    뭐야 이거. 라고 생각해 「htps : // Regi stri-1. 도 c r. 이오/v2/」를 두드려 보면
    이런 화면이 되었습니다 (점점 모르겠어!)
    {"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}

    구그 해 보았다

    ▼Docker로 pull이나 run을 실시했을 때 이미지 다운로드를 할 수 없게 된 문제의 해결법
    h tps://사토야시키. 하테나 bぉg. 코m/엔트리/2017/04/01/175604

    Docker 설정에서 Network를 변경하면 괜찮은 것 같습니다 (ysan 씨 감사합니다 ♡)
    docker run --name webapp.test -p 5000:7909 -it webapp:Debug
    warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
          No XML encryptor configured. Key {27592a5c-2404-4081-a0ec-9bb61bd9d7c1} may be persisted to storage in unencrypted form.
    Hosting environment: Production
    Content root path: /app
    Now listening on: http://[::]:7909
    Application started. Press Ctrl+C to shut down.
    

    성공(/・ω・)/

    간단히 말하면, 지금 사용하고 있는 포트에서 7909로 리디렉션 해요. 라는 튜토리얼이었습니다 (너무 쉽습니다)

    아직 튜토리얼이 시작된지 얼마 안되었으므로, 또 공부가 된 곳이 있으면 공유하고 싶습니다
    읽어 주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기