도커 10

리눅스에서 cgroup 사용 예제

목표: openmpi를 cgroup을 이용해서 cpuset을 해 준 뒤에 mpirun -np / --cpu-set / bind-to core 옵션 줘서 실행해보기 1. cgroup 관리 툴을 설치 (안깔아도 되는데 까는게 편리) sudo apt-get install cgroup-tools 혹은 cgroup-bin 2. cgroup생성 sudo cgcreate -g cpuset:mpi_test sudo cgset -r cpuset.cpus="0,3" mpi_test sudo cgset -r cpuset.mem="0" mpi_test //안해주면 에러남 그리고 /sys/fs/cgroup/cpuset/mpi_test폴더 안에서 해야 적용되드라 cat /sys/fs/cgroup/cpuset/mpi_test/cp..

Study/linux 2019.11.08

도커에서 CentOS 컨테이너를 실행할 수 있는이유

현재 우분투를 사용하고있다. 그런데 우분투 위에서 다른 OS의 컨테이너를 실행할 수 있는 이유는 무엇일까? 도커는 호스트와 커널을 공유하기 때문이다. 엄격하게 리눅스는 '커널'만을 의미하고, Ubuntu나 Fedora, CentOS등은 리눅스의 서로 배포판일 뿐이다. 다른 말로 하면 Ubuntu, Fedora, centOS의 리눅스 커널은 동일하고, 그 위 파일시스템이나 프로그램 생김새가 다르다는 뜻이다. 즉, 리눅스 커널이라는 뿌리가 같으니 도커에서 다른 리눅스계통의 OS를 돌릴 수 있었던 것! 참고: http://korean-daeddo.blogspot.com/2016/11/blog-post.html?m=1 리눅스 배포판 종류 및 선택 리눅스 배포판의 종류와 선택 기준(또는 추천)을 알려주는 글입니다..

Study/linux 2019.10.29

docker에서 컨테이너 gui 실행하기

우분투의 그래픽은 시스템이 아니다. 프로그램이다. 그래서 리눅스 서버버전을 실행하면 gui가 없던 것!! 우분투는 `Xorg`라는 그래픽 프로그램을 이용한다. 즉, 얘가 있어야 그래픽을 띄워줄 수 있다는 얘기. 그럼 도커에서 그래픽을 띄워주려면? 호스트의 자원을 공유하면 된다. 호스트의 Xorg를 컨테이너가 이용하면 된다는 말. 실행옵션을 추가해주면 컨테이너에서도 그래픽을 볼 수 있다. 도커를 gui로 실행하는 방법은 두 가지가 있다. 1. VNC를 이용하거나 2. 단순히 XServer를 공유하거나. VNC를 이용하는 방법은 여기와 여기를 참고하자. Xauthority 어쩌구저쩌구한다. ...더보기 Xauthority becomes an issue with newer systems. I can eithe..

Study/linux 2019.10.18

도커 컨테이너에서 가장 마지막으로 수정한 파일을 호스트로 가져오기

후 드디어 명령어 만들었다. docker exec [container] ls -tr | tail -1 | xargs -I {} docker cp [container]:{} [host_dir] 예시 : hpcg 컨테이너에서 가장 최근에 수정된 파일을 test라는 이름으로 복사해오기 docker exec hpcg ls -tr | tail -1 | xargs -I {} docker cp hpcg:/AddedFiles/hpcg-3.1/bin/{} ./test 지금은 workdir을 정해줘서 바로 특정 디렉토리 내에서만 검색하는데, 만약 컨테이너 전체를 검색하고 싶다면 `ls`대신 `find`를 이용하면 된다.

Study/linux 2019.10.13

[Remote API] 외부 컴퓨터에서도 도커를 이용하기

도커가 깔려 있지 않은 컴퓨터에서도 도커를 이용할 수 있다. 어떻게? 외부에서 접속해서! RemoteAPI를 이용하면 원격으로 도커 데몬에 명령을 내릴 수 있다. pull이나 attach같은 몇몇 복잡한 명령어들은 안되지만, 대부분은 가능하다. 외부에서 apach server를 열어 테스트해보자. 도커 데몬 TCP 소켓 열기 같은 컴퓨터 내에서 프로세스끼리 통신할땐 UNIX소켓, 다른 컴퓨터끼리 네트워크로 통신할 땐 TCP소켓을 이용한다. 나는 다른 컴퓨터에서 원격으로 이용할 것이니 TCP소켓을 열어준다. 1. TCP소켓 Listen하기 # listen using the default unix socket, and on 2 specific IP addresses on this host. $ service..

Study/linux 2019.10.06

[Error] 도커에서 mpirun실행시 errno=1 에러

mpirun을 했는데 이런 에러가 뜬다. > Read -1, expected 13212, errno = 1 원인은 CMA였다. 도커에서 쓰는 네임스페이스가 host와 달라서 그렇다나 뭐라나 해결방법: 도커 안에서 다음 명령을 실행한다. $ export OMPI_MCA_btl_vader_single_copy_mechanism=none 참고 https://github.com/open-mpi/ompi/issues/4948 Vader in a Docker Container · Issue #4948 · open-mpi/ompi Background information What version of Open MPI are you using? (e.g., v1.10.3, v2.1.0, git branch name an..

Study/linux 2019.10.04

도커에서 HPL 이용하기

도커에서 HPL 컨테이너 사용하기 도커에서 HPL (High-Performance Linpack) 컨테# 도커에서 HPL 컨테이너 사용하기 도커에서 HPL (High-Performance Linpack) 컨테이너를 사용하는 방법을 알아보자. 아직 도커에 HPL이나 linpack의 공식 이미지가 없다. (2019.09.24. 기준) 그래서 그냥 내가 만들어 쓰기로 했다. 목차: 0. HPL과 준비물 컨테이너에서 직접 실행시켜보기 Dockerfile 작성하기 컨테이너 실행 확인하기 HPL이 뭔가? 우선 HPL이 무엇인지 감부터 잡아보자. HPL은 "High-Performance Linpack"의 약자인데, 여기서 Linpack은 벤치마크 프로그램 이름이다. 즉, HPL은 "High-Performace Com..

Study/linux 2019.09.30

도커로 아파치 웹 서버 구축하기

도커에서 아파치 컨테이너로 웹 서버를 실행해보자. dockerfile을 작성하는 방법과, 작성하지 않는 방법이 있다. 이 포스팅에서는 작성하지 않는 방법으로 실행해본다. 이미지를 다운받아서 실행하면 된다. 간-단! 목차: 1. 아파치 이미지 다운받기 2. 컨테이너 실행하기 3. 서버 실행 확인하기 4. 기타 팁 1. 아파치 이미지 다운받기 1 $ docker pull httpd:latest cs pull명령어로 이미지를 다운받는다. 공식 아파치가 httpd고, 혹시 다른 아파치를 받고싶다면 `$ docker search apache`로 검색해보자. 2.아파치 컨테이너 실행하기 · 기본적인 옵션만 주고 아파치를 실행하는 방법: 1 $ docker run -d --name apache -p 8080:80 h..

Study/linux 2019.09.23

쿠버네티스와 도커의 차이

💡 도커와 쿠버네티스 예시 : 컨테이너 하나 띄워서 사용해야지 => 도커를 쓰자 0월 0시에 100개의 컨테이너를 자동으로 생성해야지 => 쿠버네티스를 쓰면 된다. 쿠버네티스란? 여러 컨테이너를 관리/예약하는 도구 도커란? 여러 컨테이너를 관리/예약하는 플랫폼 그런데 둘이 뭐가 다를까? 간단히 얘기해서 도커는 '기술적인 개념이자 도구'이고 쿠버네티스는 '도커를 관리하는 툴'이라고 생각하면 된다. 이미지를 컨테이너에 띄우고 실행하는 기술이 도커고 이런 도커를 기반으로 컨테이너를 관리하는 서비스가 쿠버네티스라고 생각하면 된다. 도커는 '한 개의 컨테이너'를 관리하는 데 최적, 쿠버네티스는 '여러 개의 컨테이너'를 서비스 단위로 관리하는 데 최적화되어있다. 도커 도커는 '컨테이너 기반의 오픈소스 가상화 플랫폼..

Study/linux 2019.09.18