Windows에서 IIS 웹 사이트 개발 환경을 작성하려면(시리즈 2)
나는 6월 15일에 투고하였는데, 오늘 가장 중요한 절차를 쓰지 않은 것을 발견하였다.미안합니다.컨테이너에 호스트 폴더 마운트 시
docker run
섹션으로 지정됩니다.목표
Docker for Windows를 사용하여 매우 초보적인 IIS 사이트를 실행하고 호스트 측 파일이 용기에 있는 사이트에 반영되기 전의 절차를 설명합니다.
IIS 저장소 다운로드
Docker 허브의 Microsoft 공식 IIS 레지스트리-v C:\dev\mysite:C:\mysite
를 지정합니다.
내 경우 호스트에 이미지가 이미 있습니다. 그렇지 않으면 다운그레이드하고 내보내는 데 시간이 걸릴 수 있습니다.
시작 컨테이너
다음 명령을 사용하여 IIS 이미지를 컨테이너로 실행합니다.
Docker 허브의 Microsoft 공식 IIS 레지스트리
-v C:\dev\mysite:C:\mysite
를 지정합니다.내 경우 호스트에 이미지가 이미 있습니다. 그렇지 않으면 다운그레이드하고 내보내는 데 시간이 걸릴 수 있습니다.
시작 컨테이너
다음 명령을 사용하여 IIS 이미지를 컨테이너로 실행합니다.
Docker pull
옵션은 PowerShell을 지정합니다.컨테이너가 실행되기 시작하면 PowerShell 콘솔이 먼저 시작됩니다.-entrypoint
옵션은 호스트의 CMD 명령줄을 컨테이너에서 실행되는 PowerShell과 대화식으로 연결합니다.-it
옵션은 호스트 포트 8080과 컨테이너 컴퓨터 포트 80을 연결합니다.(이번에 컨테이너에 직접 액세스한 IP는 호스트가 적당하면 된다)예를 들어,
-p
명령으로 드라이브의 내용을 표시해 보십시오.나는 네가 매우 상쾌하다는 것을 안다.컨테이너 드라이브라서 최소한의 물건밖에 없어요.겸사겸사 말씀드리지만, 컴퓨터 이름을 찾아볼게요.
dir
라는 이름.흥미로운 것은 이 컴퓨터 이름이 실제로 컨테이너의 ID라는 것이다.
브라우저에서 IIS 확인
어렵게 IIS 컨테이너를 실행했기 때문에 IIS (웹 서비스) 에 액세스할 수 있는지 확인하십시오.
먼저 컨테이너의 컴퓨터 IP 주소를 조사합니다.IP 주소는 명령이 내보내는 JSON 데이터에 있습니다.먼저 JSON 데이터를 모두 로컬 파일로 복사합니다.ED9E6FA67BF9
명령은 컨테이너 ID를 지정합니다.
IP 주소를 찾았습니다.
이 IP 주소는 네트워크의 다른 IP 주소와 같을 수 있습니다docker inspect
.이런 분위기는 마치 컨테이너 기술과 가상 기기 기술이 혼란스러운 원인인 것 같다."가상화"가 아니라 "격리"된 것입니다.
그럼 브라우저에서 확인해 보세요.참고로 포트는 기본 80이므로 지정할 필요가 없습니다.
익숙한 IIS 기본 화면이 표시됩니다.
이 페이지는 컨테이너 docker inspect
의 ping
에 해당합니다.
실험용으로 간단한 다른 텍스트 파일을 넣읍시다.
C:\inetpub\wwwroot
파일이 나왔습니다.
이 파일도 브라우저에서 확인해 보세요.
잘 방문했습니다.이런 느낌은 용기 안의 파일 시스템을 자유롭게 바꿀 수 있다.
그럼 컨테이너를 잠시 멈추세요.PowerShell을 iisstart.htm
로 지정하여 PowerShell을 종료하면 컨테이너를 종료합니다.
호스트의 CDM 알림으로 무사히 돌아왔습니다~
Docker에서 작업 볼륨 설정
Docker 컨테이너를 사용하여 개발 중인 웹 응용 프로그램을 테스트하는 경우 응용 프로그램의 내용을 쉽게 변경할 수 있는 환경이 필요합니다.
이렇게 하려면 Docker의 볼륨 기능을 사용하십시오.
Docker에서 간단하게 볼륨을 설정하는 방법 중 두 가지를 설명합니다.
[방법1] 마운트 호스트 측 디렉토리
호스트의 폴더를 컨테이너 드라이브의 일부로 연결합니다.
호스트 측은 매우 간단한 사이트를 제공한다.
다음에 Docker 컨테이너를 실행할 때 호스트 측의 폴더를 컨테이너 측의 폴더로 지정합니다(존재하지 않을 수도 있습니다).test.txt
옵션이 이 섹션입니다.
용기가 시작되면 PowerShell 명령이 나타나면 IIS를 비추는 entrypoint
디렉터리를 용기 옆에 표시합니다.(아래 PowerShell 명령을 위쪽에서 아래쪽으로 차례로 실행하십시오.)
예상대로 기본 -v
에 매핑됩니다.익숙한 IIS 페이지가 여기 있군요.
이제 마운트된 호스트의 폴더를 표시하도록 변경할 수 있습니다.이 작업에는 PowerShell 모듈의 Default Web Site
이 사용됩니다.이 작업은 Docker와 관련이 없습니다.단순한 PowerShell 작업입니다.
변경 완료.브라우저에서 확인해 봅시다.
올바르게 마운트된 호스트 측 폴더에 매핑되었습니다.
호스트에서 웹 사이트 편집 시도
어렵기 때문에 호스트 쪽에서 사이트 내용을 살짝 변경해 보려고 합니다.
이런 느낌으로 단락을 넣었어요.
브라우저에서 확인해 보세요.
잘 반영됐네~
[메서드 2] 컨테이너 측 디렉토리 액세스
다음은 Docker에서 컨테이너에 새 볼륨을 지정하고 호스트에서 새 볼륨에 액세스하는 절차를 설명합니다.
이미지에 원래 없는 볼륨(Windows의 경우 최상위 디렉토리로 간주)이 없는 경우에도 컨테이너를 실행할 때 새 볼륨을 생성하도록 지정할 수 있습니다.다음C:\inetpub\wwwroot
옵션은 컨테이너 측면에 생성됩니다WebAdministration
.
Set-ItemProperty
이 생성되었습니다.
적당히 서류를 조작해 보세요.
-v C:\mywebapp
파일(PowerShell 작업일 뿐 Docker와 무관)
하지만 PowerShell을 사용하여 파일과 디렉토리를 조작하는 것은 번거롭습니다.본체 측에서 용기 안에 있는 이 볼륨의 내용을 조작하고 싶으시죠.한번 해보자.
호스트 측면에서 컨테이너의 작업 볼륨 내용 변경
우선 용기의 메타데이터를 조사하고 싶어서 실행C:\mywebapp
.
다음은 볼륨과 관련된 설정을 찾습니다.다음과 같이 지정된 Docker 관리 디렉토리 정보를 찾습니다.
Windows 자원 관리자로 이 디렉터리를 표시해 보세요.예제의 파일C:\mywebapp
을 볼 수 있습니다.
파일을 변경합니다.
어쨌든 저장을 시도하면 접근 권한과 관련된 오류가 발생합니다.
여기서 파일의 보안 설정을 변경하고 호스트 사용자에게 변경 사항을 쓸 수 있는 권한을 부여합니다.
이렇게 하면 틀리지 않고 저장할 수 있다.
참고 호스트가 액세스 권한을 변경한 경우 Docker 엔진에 어떤 영향을 미치는지 알 수 없습니다.Docker 관리 볼륨의 장점을 고려하면 이 해커가 좋지 않은 영향을 미칠 가능성을 배제할 수 없다.자신의 책임을 잘 보살펴 주십시오!
마지막으로 용기의 내용이 변경되었는지 확인해 보세요.
호스트의 변경 사항을 볼 수 있습니다.
총결산
나는 IIS의 Docker 이미지로 매우 간단한 사이트 개발 환경을 만들어 보았다.ASP.NET야, ASP.NETCOre 같은 것도 대체적으로 같은 패턴으로 Docker 컨테이너를 사용할 수 있겠지.
Reference
이 문제에 관하여(Windows에서 IIS 웹 사이트 개발 환경을 작성하려면(시리즈 2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoshiwatanabe/items/a903f7855e8f1f014018
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Docker 컨테이너를 사용하여 개발 중인 웹 응용 프로그램을 테스트하는 경우 응용 프로그램의 내용을 쉽게 변경할 수 있는 환경이 필요합니다.
이렇게 하려면 Docker의 볼륨 기능을 사용하십시오.
Docker에서 간단하게 볼륨을 설정하는 방법 중 두 가지를 설명합니다.
[방법1] 마운트 호스트 측 디렉토리
호스트의 폴더를 컨테이너 드라이브의 일부로 연결합니다.
호스트 측은 매우 간단한 사이트를 제공한다.
다음에 Docker 컨테이너를 실행할 때 호스트 측의 폴더를 컨테이너 측의 폴더로 지정합니다(존재하지 않을 수도 있습니다).test.txt
옵션이 이 섹션입니다.
용기가 시작되면 PowerShell 명령이 나타나면 IIS를 비추는 entrypoint
디렉터리를 용기 옆에 표시합니다.(아래 PowerShell 명령을 위쪽에서 아래쪽으로 차례로 실행하십시오.)
예상대로 기본 -v
에 매핑됩니다.익숙한 IIS 페이지가 여기 있군요.
이제 마운트된 호스트의 폴더를 표시하도록 변경할 수 있습니다.이 작업에는 PowerShell 모듈의 Default Web Site
이 사용됩니다.이 작업은 Docker와 관련이 없습니다.단순한 PowerShell 작업입니다.
변경 완료.브라우저에서 확인해 봅시다.
올바르게 마운트된 호스트 측 폴더에 매핑되었습니다.
호스트에서 웹 사이트 편집 시도
어렵기 때문에 호스트 쪽에서 사이트 내용을 살짝 변경해 보려고 합니다.
이런 느낌으로 단락을 넣었어요.
브라우저에서 확인해 보세요.
잘 반영됐네~
[메서드 2] 컨테이너 측 디렉토리 액세스
다음은 Docker에서 컨테이너에 새 볼륨을 지정하고 호스트에서 새 볼륨에 액세스하는 절차를 설명합니다.
이미지에 원래 없는 볼륨(Windows의 경우 최상위 디렉토리로 간주)이 없는 경우에도 컨테이너를 실행할 때 새 볼륨을 생성하도록 지정할 수 있습니다.다음C:\inetpub\wwwroot
옵션은 컨테이너 측면에 생성됩니다WebAdministration
.
Set-ItemProperty
이 생성되었습니다.
적당히 서류를 조작해 보세요.
-v C:\mywebapp
파일(PowerShell 작업일 뿐 Docker와 무관)
하지만 PowerShell을 사용하여 파일과 디렉토리를 조작하는 것은 번거롭습니다.본체 측에서 용기 안에 있는 이 볼륨의 내용을 조작하고 싶으시죠.한번 해보자.
호스트 측면에서 컨테이너의 작업 볼륨 내용 변경
우선 용기의 메타데이터를 조사하고 싶어서 실행C:\mywebapp
.
다음은 볼륨과 관련된 설정을 찾습니다.다음과 같이 지정된 Docker 관리 디렉토리 정보를 찾습니다.
Windows 자원 관리자로 이 디렉터리를 표시해 보세요.예제의 파일C:\mywebapp
을 볼 수 있습니다.
파일을 변경합니다.
어쨌든 저장을 시도하면 접근 권한과 관련된 오류가 발생합니다.
여기서 파일의 보안 설정을 변경하고 호스트 사용자에게 변경 사항을 쓸 수 있는 권한을 부여합니다.
이렇게 하면 틀리지 않고 저장할 수 있다.
참고 호스트가 액세스 권한을 변경한 경우 Docker 엔진에 어떤 영향을 미치는지 알 수 없습니다.Docker 관리 볼륨의 장점을 고려하면 이 해커가 좋지 않은 영향을 미칠 가능성을 배제할 수 없다.자신의 책임을 잘 보살펴 주십시오!
마지막으로 용기의 내용이 변경되었는지 확인해 보세요.
호스트의 변경 사항을 볼 수 있습니다.
총결산
나는 IIS의 Docker 이미지로 매우 간단한 사이트 개발 환경을 만들어 보았다.ASP.NET야, ASP.NETCOre 같은 것도 대체적으로 같은 패턴으로 Docker 컨테이너를 사용할 수 있겠지.
Reference
이 문제에 관하여(Windows에서 IIS 웹 사이트 개발 환경을 작성하려면(시리즈 2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoshiwatanabe/items/a903f7855e8f1f014018
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
어렵기 때문에 호스트 쪽에서 사이트 내용을 살짝 변경해 보려고 합니다.
이런 느낌으로 단락을 넣었어요.
브라우저에서 확인해 보세요.
잘 반영됐네~
[메서드 2] 컨테이너 측 디렉토리 액세스
다음은 Docker에서 컨테이너에 새 볼륨을 지정하고 호스트에서 새 볼륨에 액세스하는 절차를 설명합니다.
이미지에 원래 없는 볼륨(Windows의 경우 최상위 디렉토리로 간주)이 없는 경우에도 컨테이너를 실행할 때 새 볼륨을 생성하도록 지정할 수 있습니다.다음C:\inetpub\wwwroot
옵션은 컨테이너 측면에 생성됩니다WebAdministration
.
Set-ItemProperty
이 생성되었습니다.
적당히 서류를 조작해 보세요.
-v C:\mywebapp
파일(PowerShell 작업일 뿐 Docker와 무관)
하지만 PowerShell을 사용하여 파일과 디렉토리를 조작하는 것은 번거롭습니다.본체 측에서 용기 안에 있는 이 볼륨의 내용을 조작하고 싶으시죠.한번 해보자.
호스트 측면에서 컨테이너의 작업 볼륨 내용 변경
우선 용기의 메타데이터를 조사하고 싶어서 실행C:\mywebapp
.
다음은 볼륨과 관련된 설정을 찾습니다.다음과 같이 지정된 Docker 관리 디렉토리 정보를 찾습니다.
Windows 자원 관리자로 이 디렉터리를 표시해 보세요.예제의 파일C:\mywebapp
을 볼 수 있습니다.
파일을 변경합니다.
어쨌든 저장을 시도하면 접근 권한과 관련된 오류가 발생합니다.
여기서 파일의 보안 설정을 변경하고 호스트 사용자에게 변경 사항을 쓸 수 있는 권한을 부여합니다.
이렇게 하면 틀리지 않고 저장할 수 있다.
참고 호스트가 액세스 권한을 변경한 경우 Docker 엔진에 어떤 영향을 미치는지 알 수 없습니다.Docker 관리 볼륨의 장점을 고려하면 이 해커가 좋지 않은 영향을 미칠 가능성을 배제할 수 없다.자신의 책임을 잘 보살펴 주십시오!
마지막으로 용기의 내용이 변경되었는지 확인해 보세요.
호스트의 변경 사항을 볼 수 있습니다.
총결산
나는 IIS의 Docker 이미지로 매우 간단한 사이트 개발 환경을 만들어 보았다.ASP.NET야, ASP.NETCOre 같은 것도 대체적으로 같은 패턴으로 Docker 컨테이너를 사용할 수 있겠지.
Reference
이 문제에 관하여(Windows에서 IIS 웹 사이트 개발 환경을 작성하려면(시리즈 2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoshiwatanabe/items/a903f7855e8f1f014018
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
우선 용기의 메타데이터를 조사하고 싶어서 실행
C:\mywebapp
.다음은 볼륨과 관련된 설정을 찾습니다.다음과 같이 지정된 Docker 관리 디렉토리 정보를 찾습니다.
Windows 자원 관리자로 이 디렉터리를 표시해 보세요.예제의 파일
C:\mywebapp
을 볼 수 있습니다.파일을 변경합니다.
어쨌든 저장을 시도하면 접근 권한과 관련된 오류가 발생합니다.
여기서 파일의 보안 설정을 변경하고 호스트 사용자에게 변경 사항을 쓸 수 있는 권한을 부여합니다.
이렇게 하면 틀리지 않고 저장할 수 있다.
참고 호스트가 액세스 권한을 변경한 경우 Docker 엔진에 어떤 영향을 미치는지 알 수 없습니다.Docker 관리 볼륨의 장점을 고려하면 이 해커가 좋지 않은 영향을 미칠 가능성을 배제할 수 없다.자신의 책임을 잘 보살펴 주십시오!
마지막으로 용기의 내용이 변경되었는지 확인해 보세요.
호스트의 변경 사항을 볼 수 있습니다.
총결산
나는 IIS의 Docker 이미지로 매우 간단한 사이트 개발 환경을 만들어 보았다.ASP.NET야, ASP.NETCOre 같은 것도 대체적으로 같은 패턴으로 Docker 컨테이너를 사용할 수 있겠지.
Reference
이 문제에 관하여(Windows에서 IIS 웹 사이트 개발 환경을 작성하려면(시리즈 2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoshiwatanabe/items/a903f7855e8f1f014018
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Windows에서 IIS 웹 사이트 개발 환경을 작성하려면(시리즈 2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoshiwatanabe/items/a903f7855e8f1f014018텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)