2017-04-27 8 views
0

RYU 컨트롤러 용 도커 컨테이너를 조정하고 싶습니다. 나는 잘 작동하는 것을 만들고 실행하는 방법에 대한 튜토리얼을 발견했으며 튜토리얼에 따라 cloudify 청사진을 작성하려고 계획했습니다. 나는 거래를하지 못했습니다.cloudify에 대한 청사진 작성시 "/ bin/bash"옵션을 올바르게 선택하는 방법

docker run -i -t -p 0.0.0.0:6633:6633 --name ryu3.15 muzixing/ryu:SDN /bin/bash 

"/ bin/bash"를 넣을 곳이 없습니다. 나는이 방법을 시도했다

node_tamplates: 
    ... 
    interfaces: 
     cloudify.interfaces.circle 
     create: 
      implementation: docker.docker_plugin.tasks.create_container 
      inputs: 
      params: 
       stdin_open: true 
       tty: true 
       command: /bin/bash 
    ... 

그러나 "/ bin/bash"를 놓친 것처럼 클라이언트가 'No Command Specified'로 끝난다.

나는이 문제를 해결할 효과적인 방법을 찾지 못해서 cloudify 문서와 예제를 읽었습니다. 그렇다면 누구나 "/ bin/bash"를 전달할 적절한 옵션을 알고 있거나 더 많은 옵션을 배울 수 있습니까?

미리 감사드립니다.


업데이트 :

이 cloudify 문서에 따르면, 내가 /bin/bash으로 https://github.com/docker/docker-py/blob/master/docker/api/container.py

에 그 허용 된 매개 변수를

def create_container(self, image, command=None, hostname=None, user=None, 
        detach=False, stdin_open=False, tty=False, 
        mem_limit=None, ports=None, environment=None, 
        dns=None, volumes=None, volumes_from=None, 
        network_disabled=False, name=None, entrypoint=None, 
        cpu_shares=None, working_dir=None, domainname=None, 
        memswap_limit=None, cpuset=None, host_config=None, 
        mac_address=None, labels=None, volume_driver=None, 
        stop_signal=None, networking_config=None, 
        healthcheck=None, stop_timeout=None): 
... 

을 확인 내가 터미널을 시작하고 더 많은 경로와 같은 것입니다 다시 시도했습니다 (working_dir: /bin/bash). 문제는 여전히 남아 있습니다.

매개 변수를 보면서 아이디어를 공유하고 싶습니다.

+0

에서 찾을 수 있습니다. – BMW

+0

편집 해 주셔서 감사합니다. 여기에 새로 나온 것처럼 형식에 익숙하지 않습니다. 그래서 사진을 보았습니다 ... @BMW – Lootii

답변

1

다른 방식으로 구현해야한다고 생각합니다.

아래 예제 코드를 볼 수 있습니다 : 당신이 더 많은 예제가 필요한 경우

some_container: 
type: cloudify.docker.Container 
properties: 
    name: some_name 
    image: 
    repository: dockeruser/dockerrepo 
interfaces: 
    cloudify.interfaces.lifecycle: 
    create: 
     implementation: docker.docker_plugin.tasks.create_container 
     inputs: 
     params: 
      ports: 
      - 8080 
      stdin_open: true 
      tty: true 
      command: /bin/sleep 20 
    start: 
     implementation: docker.docker_plugin.tasks.start 
     inputs: 
     params: 
      port_bindings: 
      8080: 8080 

당신이 당신의 코드를 표현하기 위해 스크린 샷을 사용하지 않는 http://docs.getcloudify.org/4.0.0/plugins/docker/

+0

당신의 관심에 감사드립니다. 나는'command :/bin/bash 20' 명령에주의를 기울 였지만 숫자가 의미하는 바를 모릅니다. 네가 가져온 이후로, 나는 다시 생각할 것이다. – Lootii