갤럭시에 도구를 설치하고 공개하기 전의 절차
도구 생성
도구 테스트
Docker를 이용하여planeemo 환경 구축
docker를 이용하여 docker에서 docker를 사용할 수 있는planeemo 환경을 구축합니다.
docker image에 사용
manabuishii/docker-planemo:0.55.0
.시작할 때 호스트와 용기에서 공유
docker.sock
하고 지정--privileged=true
함으로써 Docker 용기 내부에서 호스트 측의 Docker daemon에 접근하여 호스트에서 Docker 용기 내부에서 지정한 Docker 용기를 조작할 수 있습니다./bin/bash
을 지정하여 Docker 용기를 시작하는 케이스> docker run --entrypoint /bin/bash --rm --privileged=true -p 8010:80 -p 9090:9090 -v /var/run/docker.sock:/var/run/docker.sock -v `pwd`:/opt/galaxy/tools -i -t manabuishii/docker-planemo:0.55.0
상기 선택 사항으로 시작하면 호스트의 Docker (sibling docker) 가 Docker 용기 내부에서 시작할 수 있도록 docker를 용기 내부로 가져옵니다.# apt-get update -y
# apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
# add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
# apt-get update
# apt-get install -y docker-ce
위 Docker Community Edition을 Debian-jessie로 가져오는 부분은 https://docs.docker.com/install/linux/docker-ce/debian/#set-up-the-repository에 기재된 내용을 기반으로 합니다.Docker 가져오기에 성공했기 때문에 Docker 내부에서 Docker를 사용할 수 있는지 확인합니다.
# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
컨테이너 내부에서 Docker의 작업 상태를 확인합니다.# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ef30e11f8cc4 hello-world "/hello" About an hour ago Exited (0) About an hour ago objective_hugle
7e8167ad25ef manabuishii/docker-planemo:0.55.0 "/bin/bash" About an hour ago Up About an hour 0.0.0.0:9090->9090/tcp, 0.0.0.0:8010->80/tcp jovial_poincare
인산염에서 실행되는 자체 Docker 프로세스도 표시됩니다.호스트에서 확인해 보세요.호스트에서 다른 Terminal을 열어 실행합니다
docker ps -a
.$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ef30e11f8cc4 hello-world "/hello" About an hour ago Exited (0) About an hour ago objective_hugle
7e8167ad25ef manabuishii/docker-planemo:0.55.0 "/bin/bash" About an hour ago Up About an hour 0.0.0.0:9090->9090/tcp, 0.0.0.0:8010->80/tcp jovial_poincare
동일한 상태가 표시된 것을 알 수 있다.Docker 컨테이너 내에서 다른 Docker 컨테이너를 실행할 때 호스트에서 컨테이너를 만들고 호스트에서 실행하는지 확인할 수 있습니다.
Planeemo의 실행
이렇게 되면 최신 플랜지모의 이용 환경을 이용할 수 있기 때문에 실제 플랜지모를 활용해 보자.
# cd /opt/galaxy/tools/
# planemo project_init --template=demo mytools; cd mytools
# planemo test ./randomlines.xml
planemo test
에서는 갤럭시 서버를 다운로드하고 실행하기 때문에 처음 시작할 때 상당한 시간이 걸린다.All 2 test(s) executed passed.
random_lines1[0]: passed
random_lines1[1]: passed
간단한 테스트라도 갤럭시 서버 프로세스를 시작해 테스트를 수행하기 위해서는 상당한 시간이 걸린다.또 두 번째 이후에는 갤럭시 설치 과정이 필요 없어 시간이 단축됐지만, 그래도 30초가량 소요됐다.
> time planemo test randomlines.xml
...
All 2 test(s) executed passed.
random_lines1[0]: passed
random_lines1[1]: passed
real 0m35.000s
user 0m21.470s
sys 0m4.270s
테스트 통과를 확인한 후 브라우저로 인터페론을 확인합니다.> planemo serve --host=0.0.0.0 ./randomlines.xml
브라우저로 접근localhost:9090하면 Galaxy/Configured by Planemo
한 갤럭시가 시작되고 있음을 알 수 있다.왼쪽
tool
에 Select random lines from a file
Tool이 표시되고 해당 Tool을 클릭하면 다음과 같은 화면이 표시됩니다.이렇게 되면 플랜에이모의 환경이 정확하게 구축되었음을 확인할 수 있다.
다음에는 이 상태에서 Docker 컨테이너를 저장하는 방법에 접촉합니다.
Reference
이 문제에 관하여(갤럭시에 도구를 설치하고 공개하기 전의 절차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/percipere/items/3a9de862b1ade86ac25f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)