본문 바로가기

docker

(12)
마이크로서비스, 도커, 컨테이너 관련 글 모음 마이크로서비스를 위한 데이터베이스 선택 방법 마이크로 서비스 못 다한 이야기 | Popit 컨테이너와 마이크로서비스 보안이 어려운 이유 [번역] 마이크로 서비스 보안을 위한 10가지 팁 컨테이너와 마이크로서비스 시대의 보안 : 해결 과제와 베스트 프랙티스 Do Not Use MSA - 마이크로서비스 아키텍처가 꼭 필요한가요? 마이크로서비스란 무엇입니까? | AWS Micro Service, Docker로 할 수 밖에 없었던 사연 | Popit REST API로 통신하는것이 적절하냐? 시스템 개선을 위한 REST API 도입? | Popit MSA에 대한 이해와 컨테이너 기술의 활용 방안 https://www.itfind.or.kr/WZIN/jugidong/1887/file264527622734533026..
도커 버전 확인하기 도커 버전 확인하기 # docker version 도커 버전 업그레이드 # apt-get update # apt-get upgrade docker Before & After runC버전이 바뀌었다. 최신 mpi + runC로 문제 해결되는지 확인해볼 것!
리눅스에서 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..
도커에서 CentOS 컨테이너를 실행할 수 있는이유 현재 우분투를 사용하고있다. 그런데 우분투 위에서 다른 OS의 컨테이너를 실행할 수 있는 이유는 무엇일까? 도커는 호스트와 커널을 공유하기 때문이다. 엄격하게 리눅스는 '커널'만을 의미하고, Ubuntu나 Fedora, CentOS등은 리눅스의 서로 배포판일 뿐이다. 다른 말로 하면 Ubuntu, Fedora, centOS의 리눅스 커널은 동일하고, 그 위 파일시스템이나 프로그램 생김새가 다르다는 뜻이다. 즉, 리눅스 커널이라는 뿌리가 같으니 도커에서 다른 리눅스계통의 OS를 돌릴 수 있었던 것! 참고: http://korean-daeddo.blogspot.com/2016/11/blog-post.html?m=1 리눅스 배포판 종류 및 선택 리눅스 배포판의 종류와 선택 기준(또는 추천)을 알려주는 글입니다..
docker에서 컨테이너 gui 실행하기 우분투의 그래픽은 시스템이 아니다. 프로그램이다. 그래서 리눅스 서버버전을 실행하면 gui가 없던 것!! 우분투는 `Xorg`라는 그래픽 프로그램을 이용한다. 즉, 얘가 있어야 그래픽을 띄워줄 수 있다는 얘기. 그럼 도커에서 그래픽을 띄워주려면? 호스트의 자원을 공유하면 된다. 호스트의 Xorg를 컨테이너가 이용하면 된다는 말. 실행옵션을 추가해주면 컨테이너에서도 그래픽을 볼 수 있다. 도커를 gui로 실행하는 방법은 두 가지가 있다. 1. VNC를 이용하거나 2. 단순히 XServer를 공유하거나. VNC를 이용하는 방법은 여기와 여기를 참고하자. Xauthority 어쩌구저쩌구한다. ...더보기 Xauthority becomes an issue with newer systems. I can eithe..
HPL recipe for target 'build' failed *** [build] Error 2 도커에서 겨우겨우 실행시켰던 HPL... 호스트에서 돌려보려고 하니 또 문제가 생겼다. HPL recipe for target 'build' failed *** [build] Error 2 에러가 난다. 해결해보자. 1. openmpi 확인 2. 각종 라이브러리 확인 3. hpl make파일 확인 1. openmpi가 잘 설치되었나 확인해보기 - openmpi 다운받기 : https://www.open-mpi.org/software/ompi/v4.0/ - 다운받은 압축파일을 풀고, 해당 폴더(top folder라고 하겠다)에서 `$ ./configure --prefix="/usr/local/openmpi"` - top folder에서 `$ make install` - 환경변수 설정 (아까 configur..
도커 컨테이너에서 가장 마지막으로 수정한 파일을 호스트로 가져오기 후 드디어 명령어 만들었다. 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`를 이용하면 된다.
[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..