방금 Docker로 장난하기 시작했고 dockerfile이 wi-fi 또는 bluetooth를 끄는 것과 같은 시스템 설정과 상호 작용할 수 있는지 궁금합니다. 지금까지 내가 아는 바에 따르면, dockerfiles는 어디에 있든 상관없이 동일한 작업을 수행해야합니다. 그래서 어떻게 다른 OS에서 이런 식으로 일반화 할 수 있습니까? 이 경우 if-statement가 필요하지 않습니까? 예를 들어 Linux에서 wi-fi를 끄는 터미널 명령은 Windows에서 다를 수 있으므로 OS 도커가 실행되고 있는지 확인해야하며이 도커 파일을 실행하는 컴퓨터에 블루투스가 있는지 여부도 확인할 수 있어야합니다.dockerfile이 시스템 설정과 상호 작용할 수 있습니까?
답변
도커 컨테이너 안에있는 OS에 따라 dockerfile 명령을 지정하십시오. centos 기초가 있다고 가정 해 봅시다. yum을 사용하여 물건을 설치하십시오. 데비안 기반이라면 apt-get이 될 것입니다.
알겠습니다 컨테이너가 호스트 컴퓨터의 설정과 상호 작용하려면 어떻게해야할까요? 그래서 Windows 컴퓨터가 예를 들어 우분투를 사용하는 컨테이너를 실행한다고 가정합니다. – ninesalt
Docker 컨테이너는 호스트 컴퓨터 설정을 수정할 수 없습니다. 호스트 컴퓨터 용 컨테이너 포트를 노출하여 사용할 수 있습니다. –
당신이 할 수있는 최선의 방법은 컨테이너가 동작을 수행해야한다는 것을 나타내는 "신호"를 호스트 컴퓨터에 보내도록하는 것이라고 생각합니다.
예를 들어 컨테이너는 호스트 시스템이 볼 볼륨 매핑 된 디렉토리에 파일을 배치합니다. 그런 다음 작업을 수행하기 위해 자체 논리를 실행하는 것은 호스트 시스템에 달려 있습니다.
즉, 컨테이너는 호스트 시스템이 실행되는 방식에 대한 정보를 잊어 버려야합니다.
- 1. 내 시스템 문서는 어떻게 더 상호 작용할 수 있습니까?
- 2. 루아를 통해 컴퓨터와 상호 작용할 수 있습니까?
- 3. monkeyrunner가 안드로이드 알림과 상호 작용할 수 있습니까?
- 4. SVG 배경을 상호 작용할 수 있습니까?
- 5. 사용자와 grunt-shell이 상호 작용할 수 있습니까?
- 6. 애니메이션과 어떻게 상호 작용할 수 있습니까?
- 7. 터치하지 않고 UIWebView와 상호 작용할 수 있습니까?
- 8. Eclipse Sirius는 다른 시스템과 어떻게 상호 작용할 수 있습니까?
- 9. SQL Server와 상호 작용할 어셈블리는 어디에 있습니까?
- 10. 소셜 미디어와 상호 작용할 수있는 라이브러리가 있습니까?
- 11. Genesys와 상호 작용할 파이썬 라이브러리가 있습니까?
- 12. 사용자가 Seekbar와 상호 작용할 수 없습니다.
- 13. setContentOffset 후 UIScrollView와 상호 작용할 수 없습니다
- 14. 전환하는 html 요소와 상호 작용할 수 없습니다
- 15. Java : JFrame과 상호 작용할 수 없습니다.
- 16. 창이 표시되지만 시뮬레이터와 상호 작용할 수 없습니다.
- 17. Xcode UIAutomation이 TTTAttributedLabel과 상호 작용할 수 없습니다.
- 18. .class 파일과 상호 작용할 수 없습니다.
- 19. 플렉스는 itemrenderer의 버튼과 상호 작용할 수 없습니다
- 20. tcp 및 http 연결 수신기가 서로 상호 작용할 수 있습니까?
- 21. 안드로이드는 C# 코드와 어떻게 상호 작용할 수 있습니까?
- 22. 아약스가 처리되는 동안 우리는 브라우저와 상호 작용할 수 있습니까?
- 23. 웹 브라우저를 사용하여 플래시 컨트롤과 상호 작용할 수 있습니까?
- 24. 사용자가 Microsoft Vista에서 직접 서비스와 상호 작용할 수 있습니까?
- 25. Firewatir에서 Firefox 인쇄 대화 상자와 어떻게 상호 작용할 수 있습니까?
- 26. TypeScript는 정의 파일없이 jQuery와 상호 작용할 수 있습니까?
- 27. iOS/Android 자동화가 타사 응용 프로그램과 상호 작용할 수 있습니까?
- 28. 프로그래밍 방식으로 웹 페이지와 상호 작용할 수 있습니까?
- 29. 잘못된 응답을받지 않고 ObjectiveC의 서버와 어떻게 상호 작용할 수 있습니까?
- 30. 기존 소프트웨어와 상호 작용할 수있는 프로그램을 작성할 수 있습니까?
이 질문은 실제로 도커에 관한 것이 아닙니다. Docker는 응용 프로그램을 배포하는 수단입니다. 이 작업을 수행하기 위해 스크립트를 작성하는 방법에 대해 생각한 다음 고정 된 컨테이너로 마무리하십시오. – stacksonstacks
@stacksonstacks 왜 컨테이너에 포장합니까? – ninesalt
Dockerfiles는 컨테이너 환경을 구축하기위한 것입니다. 그들의 명령은 빌드시에 실행됩니다. dockerfile을 작성하여 호스트의 블루투스 설정을 변경한다고 가정 해 봅시다. 컨테이너가 결국이 이미지에서 실행될 때 호스트 설정이 변경되었을 수 있습니다. 따라서 런타임에 컨테이너 내에서이 변경 작업을 수행하려고합니다. – stacksonstacks