<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://old.wiki.ubuntu-kr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=39.7.47.66</id>
	<title>Ubuntu Korea Community Wiki - 사용자 기여 [ko]</title>
	<link rel="self" type="application/atom+xml" href="https://old.wiki.ubuntu-kr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=39.7.47.66"/>
	<link rel="alternate" type="text/html" href="https://old.wiki.ubuntu-kr.org/index.php?title=%ED%8A%B9%EC%88%98:%EA%B8%B0%EC%97%AC/39.7.47.66"/>
	<updated>2026-10-17T05:02:04Z</updated>
	<subtitle>사용자 기여</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://old.wiki.ubuntu-kr.org/index.php?title=Docker_Study&amp;diff=4244</id>
		<title>Docker Study</title>
		<link rel="alternate" type="text/html" href="https://old.wiki.ubuntu-kr.org/index.php?title=Docker_Study&amp;diff=4244"/>
		<updated>2016-08-17T11:53:13Z</updated>

		<summary type="html">&lt;p&gt;39.7.47.66: /* 2016년 8월 17일 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2016년 8월 17일 ==&lt;br /&gt;
* container가 돌아가고 있는 상태에서 업데이트가 가능? -&amp;gt; container기반 서비스에서 지향하는 것 == 기존의 것을 upgrade 하는 것보다 부시고 새로 만드는 것!&lt;br /&gt;
* Load balancer 가 이미지 스위칭을 담당&lt;br /&gt;
* MS Azure&lt;br /&gt;
** https://azure.microsoft.com/ko-kr/documentation/articles/xplat-cli-install/&lt;br /&gt;
** https://azure.microsoft.com/ko-kr/documentation/articles/xplat-cli-connect/&lt;br /&gt;
* http://trace32.com/wiki/index.php/Remote_API&lt;br /&gt;
* http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter14/01 -&amp;gt; sudo apt-get install python-docker 로 한방에 설치 가능&lt;br /&gt;
* Remote API 부분은 공식 문서를 참조하는 것이 조금 더 도움이 되는 것 같다.&lt;br /&gt;
** Docker Remote API : https://docs.docker.com/engine/reference/api/docker_remote_api/&lt;br /&gt;
** Docker Remote API v1.24 : https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/&lt;br /&gt;
* Remote API의 핵심은 Remote API!&lt;br /&gt;
* 다음주는 15번 부터&lt;br /&gt;
* dockerd 옵션&lt;br /&gt;
* dockerd remote API 지원 service 로 실행하기  &lt;br /&gt;
&lt;br /&gt;
1) /lib/systemd/system/docker.service 파일 수정&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[Service] section 에 &lt;br /&gt;
EnvironmentFile=-/etc/default/docker &amp;lt;- 추가&lt;br /&gt;
ExecStart=/usr/bin/dockerd $DOCKER_OPTS -H fd:// &amp;lt;- 수정&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
2) /etc/default/docker 파일 수정&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DOCKER_OPTS=&amp;quot;-H tcp://0.0.0.0:4243&amp;quot; 추가&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
3) 서비스 재시작&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;- systemctl daemon-reload&lt;br /&gt;
- service docker stop/start&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2016년 8월 10일 ==&lt;br /&gt;
* 출석 : 한영빈, 장태희 / 결석 : 심장훈(스케줄), 이희찬(병결)&lt;br /&gt;
* Git hook -&amp;gt; https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-Git-Hooks&lt;br /&gt;
* git에서 특정 이벤트가 발생하면 실행되는 스크립트가 hook인데, 이벤트 중에 push가 해당&lt;br /&gt;
* post-receive는 서버측 스크립트&lt;br /&gt;
* heroku(https://www.heroku.com/) / dokku(http://dokku.viewdocs.io/dokku/)와 비슷하게 세팅하여 작동되는것 같다.(http://blog.nacyot.com/articles/2014-01-30-deploying-application-with-dokku/)&lt;br /&gt;
* 모니터링 서버를 localhost에 세팅 해도 되는가? -&amp;gt; 루프백 관련 문제 발생할듯.(http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter09/01)&lt;br /&gt;
* 모니터링과 어플리케이션 서버를 하나의 서버에 설치해도 되는가? -&amp;gt; Diamond 와 Graphite의 노출 포트가 겹치지 않도록 설정하면 가능함.&lt;br /&gt;
* rrdtool 을 이용하여 서버 모니터링을 한다고도 함.&lt;br /&gt;
* Graphite 사용 화면(그래프를 제대로 보려면, 최소 14시간 기다려야 제대로 된 간지나는(?) 그래프를 볼 수 있음)&lt;br /&gt;
[[파일:Example graphite usage.png]]&lt;br /&gt;
* &amp;lt;모니터링 서버 주소&amp;gt;/grafana 로 접속하면, grafana 로 데이터를 볼 수 있음.&lt;br /&gt;
[[파일:Example grafana usage.png]]&lt;br /&gt;
&lt;br /&gt;
== 2016년 8월 3일 ==&lt;br /&gt;
출석 : 한영빈, 이희찬, 심장훈, 장태희&lt;br /&gt;
* 6주차 : Docker + LXD 설명&lt;br /&gt;
* Chapter 05&lt;br /&gt;
** http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter05&lt;br /&gt;
** inspect 명령으로 세부 정보 확인하기 -&amp;gt; inspect file은 어디에 저장되는가?&lt;br /&gt;
** Dockerfile 내용 과는 전혀 다름&lt;br /&gt;
** JSON 방식으로 -f -format의 옵션은 JSON 항목을 그대로 입력하면 됨&lt;br /&gt;
** https://www.mankier.com/1/docker-inspect&lt;br /&gt;
** text 기반 setting 변경 보다 database화된 설정 저장으로 추측...&lt;br /&gt;
** 도커 명령어 정리 : http://blog.iolo.kr/510&lt;br /&gt;
&lt;br /&gt;
** http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter06/03&lt;br /&gt;
** 다른 서버의 Docker 컨테이너에 연결하기&lt;br /&gt;
** 앰배서더 컨테이너 -&amp;gt; 중간에 끼므로 인하여 생기는 문제(레이턴시 등)가 발생할 수도 있음.&lt;br /&gt;
** 각 서버의 컨테이너끼리 통신하는 방법도 생각 해 볼만 함.&lt;br /&gt;
&lt;br /&gt;
** http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter06/04&lt;br /&gt;
** Docker 데이터 볼륨 사용하기&lt;br /&gt;
** 호스트에 있는 파일을 수정했을 시 각 컨테이너 데이터 볼륨에서 파일의 접근 퍼미션은 어떻게? -&amp;gt; 확인 해 봐야 한다.&lt;br /&gt;
&lt;br /&gt;
** snapshot? commit으로 사용 하면 되지만 개념이 미묘하게 차이가 있는 듯.&lt;br /&gt;
&lt;br /&gt;
** 파일들의 위치 : /var/lib/docker -&amp;gt; containers, volumes&lt;br /&gt;
** 완벽한 sandbox 형태를 제공하지는 않는다. 접근이 가능하기 때문에 Host가 파일 변경은 수월하나 보안적으로는 취약함.&lt;br /&gt;
&lt;br /&gt;
** http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter06/07&lt;br /&gt;
** Docker 안에서 Docker 실행하기&lt;br /&gt;
** sudo docker run -i -t --privileged dind 실행 시 오류가 남&lt;br /&gt;
** Docker 버전 차이로 인하여 안되는 듯 함. docker documentation 문서를 참고하여 수정해서 다시 돌려봐야 할 듯 함.&lt;br /&gt;
&lt;br /&gt;
** CMD + ENTRYPOINT&lt;br /&gt;
** CMD는 Dockerfile에서 한 번만 정의 가능 / ENTRYPOINT는 Dockerfile에서 한 번만, 명령어에서 옵션을 주면 CMD 옵션을 덮어쓰게 됨.&lt;br /&gt;
&lt;br /&gt;
* 다음 주 8, 9 해오기&lt;br /&gt;
&lt;br /&gt;
== 2016년 7월 27일 ==&lt;br /&gt;
=== 커리큘럼 작성 ===&lt;br /&gt;
* 출석 : 장태희 / 이희찬 / 한영빈 / 심장훈&lt;br /&gt;
* 5주차 까지 Docker 책을 끝내고 나머지 3주는 각자 서비스 구현하는걸로...&lt;br /&gt;
* 책 이름 : 가장 빨리 만나는 Docker(http://pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book) - (참고 : http://kubernetes.io/docs/hellonode/)&lt;br /&gt;
* 유용한 도구 모음&lt;br /&gt;
- Windows, OS X: Kitematic(Docker에서 공식적으로 권장함.) --&amp;gt; https://kitematic.com/&lt;br /&gt;
&lt;br /&gt;
- 운영체제 전부 지원:Simple Docker UI.--&amp;gt; https://chrome.google.com/webstore/detail/simple-docker-ui/jfaelnolkgonnjdlkfokjadedkacbnib?hl=ko(2016-7-27일 기준으로 Windows용 Docker Beta 버젼을 쓴다면 조금 설정이 바로 보고 쓰기에 좀 번거롭다. Windows 사용자라면 Kitematic을 쓰는게 훨씬 편하다.)&lt;br /&gt;
* 1주차 : 1 ~5장 Docker 살펴보기&lt;br /&gt;
* 2주차 : 5 ~7장&lt;br /&gt;
* 3주차 : 8 ~9장&lt;br /&gt;
* 4주차 : 10 ~ 15장&lt;br /&gt;
* 5주차 : 16 ~ 20장&lt;br /&gt;
* 6주차 :&lt;br /&gt;
* 7주차 :&lt;br /&gt;
* 8주차 :&lt;br /&gt;
&lt;br /&gt;
- 장훈님 : container의 성능 자체에 관심 / &lt;br /&gt;
* version : 1.10 stable로 맞추기&lt;br /&gt;
* http://m.blog.daum.net/sunwookim77/104&lt;br /&gt;
* docker 다운 받은 image를 삭제 하고 싶으면 image를 사용한 모든 container를 서비스 중지하고 삭제 하여야 함.&lt;br /&gt;
* sudo docker exec -i -t hello-nginx /bin/bash -&amp;gt; -i -t 옵션이 뒤에 가면 먹히지 않는다. 옵션 지정 위치가 중요.&lt;/div&gt;</summary>
		<author><name>39.7.47.66</name></author>
	</entry>
	<entry>
		<id>https://old.wiki.ubuntu-kr.org/index.php?title=Docker_Study&amp;diff=4243</id>
		<title>Docker Study</title>
		<link rel="alternate" type="text/html" href="https://old.wiki.ubuntu-kr.org/index.php?title=Docker_Study&amp;diff=4243"/>
		<updated>2016-08-17T11:52:31Z</updated>

		<summary type="html">&lt;p&gt;39.7.47.66: /* 2016년 8월 17일 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2016년 8월 17일 ==&lt;br /&gt;
* container가 돌아가고 있는 상태에서 업데이트가 가능? -&amp;gt; container기반 서비스에서 지향하는 것 == 기존의 것을 upgrade 하는 것보다 부시고 새로 만드는 것!&lt;br /&gt;
* Load balancer 가 이미지 스위칭을 담당&lt;br /&gt;
* MS Azure&lt;br /&gt;
** https://azure.microsoft.com/ko-kr/documentation/articles/xplat-cli-install/&lt;br /&gt;
** https://azure.microsoft.com/ko-kr/documentation/articles/xplat-cli-connect/&lt;br /&gt;
* http://trace32.com/wiki/index.php/Remote_API&lt;br /&gt;
* http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter14/01 -&amp;gt; sudo apt-get install python-docker 로 한방에 설치 가능&lt;br /&gt;
* Remote API 부분은 공식 문서를 참조하는 것이 조금 더 도움이 되는 것 같다.&lt;br /&gt;
** Docker Remote API : https://docs.docker.com/engine/reference/api/docker_remote_api/&lt;br /&gt;
** Docker Remote API v1.24 : https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/&lt;br /&gt;
* Remote API의 핵심은 Remote API!&lt;br /&gt;
* 다음주는 15번 부터&lt;br /&gt;
* dockerd 옵션&lt;br /&gt;
* dockerd remote API 지원 service 로 실행하기  &lt;br /&gt;
&lt;br /&gt;
1) /lib/systemd/system/docker.service 파일 수정&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Service] section 에 &lt;br /&gt;
EnvironmentFile=-/etc/default/docker &amp;lt;- 추가&lt;br /&gt;
ExecStart=/usr/bin/dockerd $DOCKER_OPTS -H fd:// &amp;lt;- 수정&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
2) /etc/default/docker 파일 수정&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
DOCKER_OPTS=&amp;quot;-H tcp://0.0.0.0:4243&amp;quot; 추가&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
3) 서비스 재시작&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
- systemctl daemon-reload&lt;br /&gt;
- service docker stop/start&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2016년 8월 10일 ==&lt;br /&gt;
* 출석 : 한영빈, 장태희 / 결석 : 심장훈(스케줄), 이희찬(병결)&lt;br /&gt;
* Git hook -&amp;gt; https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-Git-Hooks&lt;br /&gt;
* git에서 특정 이벤트가 발생하면 실행되는 스크립트가 hook인데, 이벤트 중에 push가 해당&lt;br /&gt;
* post-receive는 서버측 스크립트&lt;br /&gt;
* heroku(https://www.heroku.com/) / dokku(http://dokku.viewdocs.io/dokku/)와 비슷하게 세팅하여 작동되는것 같다.(http://blog.nacyot.com/articles/2014-01-30-deploying-application-with-dokku/)&lt;br /&gt;
* 모니터링 서버를 localhost에 세팅 해도 되는가? -&amp;gt; 루프백 관련 문제 발생할듯.(http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter09/01)&lt;br /&gt;
* 모니터링과 어플리케이션 서버를 하나의 서버에 설치해도 되는가? -&amp;gt; Diamond 와 Graphite의 노출 포트가 겹치지 않도록 설정하면 가능함.&lt;br /&gt;
* rrdtool 을 이용하여 서버 모니터링을 한다고도 함.&lt;br /&gt;
* Graphite 사용 화면(그래프를 제대로 보려면, 최소 14시간 기다려야 제대로 된 간지나는(?) 그래프를 볼 수 있음)&lt;br /&gt;
[[파일:Example graphite usage.png]]&lt;br /&gt;
* &amp;lt;모니터링 서버 주소&amp;gt;/grafana 로 접속하면, grafana 로 데이터를 볼 수 있음.&lt;br /&gt;
[[파일:Example grafana usage.png]]&lt;br /&gt;
&lt;br /&gt;
== 2016년 8월 3일 ==&lt;br /&gt;
출석 : 한영빈, 이희찬, 심장훈, 장태희&lt;br /&gt;
* 6주차 : Docker + LXD 설명&lt;br /&gt;
* Chapter 05&lt;br /&gt;
** http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter05&lt;br /&gt;
** inspect 명령으로 세부 정보 확인하기 -&amp;gt; inspect file은 어디에 저장되는가?&lt;br /&gt;
** Dockerfile 내용 과는 전혀 다름&lt;br /&gt;
** JSON 방식으로 -f -format의 옵션은 JSON 항목을 그대로 입력하면 됨&lt;br /&gt;
** https://www.mankier.com/1/docker-inspect&lt;br /&gt;
** text 기반 setting 변경 보다 database화된 설정 저장으로 추측...&lt;br /&gt;
** 도커 명령어 정리 : http://blog.iolo.kr/510&lt;br /&gt;
&lt;br /&gt;
** http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter06/03&lt;br /&gt;
** 다른 서버의 Docker 컨테이너에 연결하기&lt;br /&gt;
** 앰배서더 컨테이너 -&amp;gt; 중간에 끼므로 인하여 생기는 문제(레이턴시 등)가 발생할 수도 있음.&lt;br /&gt;
** 각 서버의 컨테이너끼리 통신하는 방법도 생각 해 볼만 함.&lt;br /&gt;
&lt;br /&gt;
** http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter06/04&lt;br /&gt;
** Docker 데이터 볼륨 사용하기&lt;br /&gt;
** 호스트에 있는 파일을 수정했을 시 각 컨테이너 데이터 볼륨에서 파일의 접근 퍼미션은 어떻게? -&amp;gt; 확인 해 봐야 한다.&lt;br /&gt;
&lt;br /&gt;
** snapshot? commit으로 사용 하면 되지만 개념이 미묘하게 차이가 있는 듯.&lt;br /&gt;
&lt;br /&gt;
** 파일들의 위치 : /var/lib/docker -&amp;gt; containers, volumes&lt;br /&gt;
** 완벽한 sandbox 형태를 제공하지는 않는다. 접근이 가능하기 때문에 Host가 파일 변경은 수월하나 보안적으로는 취약함.&lt;br /&gt;
&lt;br /&gt;
** http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter06/07&lt;br /&gt;
** Docker 안에서 Docker 실행하기&lt;br /&gt;
** sudo docker run -i -t --privileged dind 실행 시 오류가 남&lt;br /&gt;
** Docker 버전 차이로 인하여 안되는 듯 함. docker documentation 문서를 참고하여 수정해서 다시 돌려봐야 할 듯 함.&lt;br /&gt;
&lt;br /&gt;
** CMD + ENTRYPOINT&lt;br /&gt;
** CMD는 Dockerfile에서 한 번만 정의 가능 / ENTRYPOINT는 Dockerfile에서 한 번만, 명령어에서 옵션을 주면 CMD 옵션을 덮어쓰게 됨.&lt;br /&gt;
&lt;br /&gt;
* 다음 주 8, 9 해오기&lt;br /&gt;
&lt;br /&gt;
== 2016년 7월 27일 ==&lt;br /&gt;
=== 커리큘럼 작성 ===&lt;br /&gt;
* 출석 : 장태희 / 이희찬 / 한영빈 / 심장훈&lt;br /&gt;
* 5주차 까지 Docker 책을 끝내고 나머지 3주는 각자 서비스 구현하는걸로...&lt;br /&gt;
* 책 이름 : 가장 빨리 만나는 Docker(http://pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book) - (참고 : http://kubernetes.io/docs/hellonode/)&lt;br /&gt;
* 유용한 도구 모음&lt;br /&gt;
- Windows, OS X: Kitematic(Docker에서 공식적으로 권장함.) --&amp;gt; https://kitematic.com/&lt;br /&gt;
&lt;br /&gt;
- 운영체제 전부 지원:Simple Docker UI.--&amp;gt; https://chrome.google.com/webstore/detail/simple-docker-ui/jfaelnolkgonnjdlkfokjadedkacbnib?hl=ko(2016-7-27일 기준으로 Windows용 Docker Beta 버젼을 쓴다면 조금 설정이 바로 보고 쓰기에 좀 번거롭다. Windows 사용자라면 Kitematic을 쓰는게 훨씬 편하다.)&lt;br /&gt;
* 1주차 : 1 ~5장 Docker 살펴보기&lt;br /&gt;
* 2주차 : 5 ~7장&lt;br /&gt;
* 3주차 : 8 ~9장&lt;br /&gt;
* 4주차 : 10 ~ 15장&lt;br /&gt;
* 5주차 : 16 ~ 20장&lt;br /&gt;
* 6주차 :&lt;br /&gt;
* 7주차 :&lt;br /&gt;
* 8주차 :&lt;br /&gt;
&lt;br /&gt;
- 장훈님 : container의 성능 자체에 관심 / &lt;br /&gt;
* version : 1.10 stable로 맞추기&lt;br /&gt;
* http://m.blog.daum.net/sunwookim77/104&lt;br /&gt;
* docker 다운 받은 image를 삭제 하고 싶으면 image를 사용한 모든 container를 서비스 중지하고 삭제 하여야 함.&lt;br /&gt;
* sudo docker exec -i -t hello-nginx /bin/bash -&amp;gt; -i -t 옵션이 뒤에 가면 먹히지 않는다. 옵션 지정 위치가 중요.&lt;/div&gt;</summary>
		<author><name>39.7.47.66</name></author>
	</entry>
</feed>