handling kolla conatainers remotely with pycharm docker tools
목표
the goal
이런 화면을 만들어 보자.
is to make an environment like this:
과정
Procedures
가상머신 쪽 설정
virtual machine side setting
기본 개념은 docker daemon과 tcp연결이다. unix socket 연결을 default로 하지만, tcp socket으로 연결 할 수도 있다.
the basic concept is using tcp connection with dockerd whose default setting is unix socket file.
reference:
https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-socket-option
Windows나 Mac이라면, 다음과 같은 설정 화면도 있다.
if you are a PC or Mac user, you can expose tcp connection with setting dialog.
여기에서는 암호화 없이 사용하지만, 실제로는 보안을 위해 암호화 설정이 필요하다. 다음 레퍼런스를 참조.
though I'm using it without TLS settings, you would need TLS setting for security actually.
reference
https://success.docker.com/article/how-do-i-set-the-docker-daemon-options
https://qiita.com/matyapiro31/items/cf5f436c40a6f77227c3
https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
이건 내가 실행한 명령.
this is what i did
# listen using the default unix socket, and on 2 specific IP addresses on this host.
$ sudo dockerd -H unix:///var/run/docker.sock -H tcp://150.95.32.xxx
kolla-ansible이 설치된 virtual machine centos에서 실행한_화면.
and this is the result.
이렇게 소켓연결을 할 수 있게 설정하면, 연결이 허용된 외부 머신에서 다음과 같은 커맨드가 가능하다.
how you can use docker client from a remote machine like this:
docker -H tcp://kolla-machine:2375 ps
Pycharm 쪽 설정
pycharm side setting
jetbrains.com reference
'Docker for Windows' 설치부터 시작한다.
from installing 'Docker for Windows'
나는 dockerd는 사용하지 않을 것이기 때문에 Cancel을 선택한다.
choose 'Cancel' if you want to use docker client only.
set DOCKER_HOST=<kolla-ansible vm>:2375
horizon container의 /var/lib/kolla 를 windows 의 C:\horizon-container-var-lib\kolla 에 복사했다.
use docker cp
command to copy from horizon:/var/lib/kolla to C:\horizon-container-var-lib\kolla
프로젝트를 만들고,
made a pycharm project,
프로젝트 설정에서 다음과 같은 Docker 설정이 가능하다.
set Docker connection
pycharm에서는 다음과 같이 remote interpreter설정이 가능하다.
and docker remote interpreter.
서비스는 또 horizon을 선택했다.
chose horizon service
OK를 누르면 다음과 같이 연결을 시도한다.
pressed OK and it tried connection.
그 다음 path mapping
next step, path mapping
local horizon container code path:
c:/miniconda3/envs/openstackclient/projects/horizon/horizon
docker horizon container code path:
/var/lib/kolla/venv/lib/python2.7/site-packages/horizon
remote interpreter connection success screen
docker container안에 있는 package도 읽어 온다.
docker panel이 보이고, 패키지 정보를 파싱하기 시작한다.
as docker panel is shown, and parsing packages started
파싱이 완료되면, CentOS의 Docker 서버의 내용을 이렇게 remote로 볼 수 있다.
when parsing finished, I can see docker server information remotely like this:
container의 프롬프트에 직접 연결할 수도 있다. container를 선택하고 popup 메뉴에서 Exec를 선택하면 /bin/bash를 실행할 수도 있다.
you can open container prompt by click 'Exec' of container's context menu
that's it.
Author And Source
この問題について(handling kolla conatainers remotely with pycharm docker tools), 我々は、より多くの情報をここで見つけました https://qiita.com/crowdy/items/513b52daf3f7c4872d16著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .