Docker를 처음 접했을 때에 필자는 VirtualBox의 대용품으로만 생각했다.

 

온전한 가상환경이 아닌

부분적인 가상환경을 제공함으로써 성능저하 없이 사용할 수 있게 해주는 놈이라고만 생각했던 것이다.

 

하지만, Docker를 알아가면 알아갈 수록

Docker의 가치는 솔루션의 훌륭한 배포 플랫폼이라는 것에 있는 것 같다.

 

 

일단, 지금 여기에서 알아보고자 하는 것을 보면,,,

Dockerfile이라는 것은 이미지를 어떻게 생성하면 되는지를 적어놓은 파일이다.

 

아래는 MySQL 을 배포하기 위한 Dockerfile 내용이다. 내용을 살펴보면 Dockerfile이라는 것이 뭔지 보일 것이다.

   - https://hub.docker.com/_/mysql/

 

FROM debian:jessie

# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
RUN groupadd -r mysql && useradd -r -g mysql mysql

RUN mkdir /docker-entrypoint-initdb.d

# FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
# File::Basename
# File::Copy
# Sys::Hostname
# Data::Dumper
RUN apt-get update && apt-get install -y perl pwgen --no-install-recommends && rm -rf /var/lib/apt/lists/*

# gpg: key 5072E1F5: public key "MySQL Release Engineering <mysql-build@oss.oracle.com>" imported
RUN apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5

ENV MYSQL_MAJOR 5.7
ENV MYSQL_VERSION 5.7.10-1debian8

RUN echo "deb http://repo.mysql.com/apt/debian/ jessie mysql-${MYSQL_MAJOR}" > /etc/apt/sources.list.d/mysql.list

# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
# also, we set debconf keys to make APT a little quieter
RUN { \
echo mysql-community-server mysql-community-server/data-dir select ''; \
echo mysql-community-server mysql-community-server/root-pass password ''; \
echo mysql-community-server mysql-community-server/re-root-pass password ''; \
echo mysql-community-server mysql-community-server/remove-test-db select false; \
} | debconf-set-selections \
&& apt-get update && apt-get install -y mysql-server="${MYSQL_VERSION}" && rm -rf /var/lib/apt/lists/* \
&& rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql

# comment out a few problematic configuration values
# don't reverse lookup hostnames, they are usually another container
RUN sed -Ei 's/^(bind-address|log)/#&/' /etc/mysql/my.cnf \
&& echo 'skip-host-cache\nskip-name-resolve' | awk '{ print } $1 == "[mysqld]" && c == 0 { c = 1; system("cat") }' /etc/mysql/my.cnf > /tmp/my.cnf \
&& mv /tmp/my.cnf /etc/mysql/my.cnf

VOLUME /var/lib/mysql

COPY docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

EXPOSE 3306
CMD ["mysqld"]

 

여기에서 Dockerfile의 문법에 대해서 설명을 하지는 않겠다.

하지만, 이 포스팅을 보시는 분이라면 대강 어떤 내용인지 알 수 있을 것이다.

 

 

이걸 잘 이용하면 재미있는 작품이 많이 나올 것만 같은 느낌인데.... 오홋~ ^^

 

 

반응형

 

딸바보 생활을 계속하면서 언젠가부터 관련해서는 포스팅을 하지 않게 되었다.

초반에 러쉬 하고선 나도 모르게 지쳐버렸나보다...

이제 힘내서 우리 딸바보 식구들을 위한 정보 공유를 해야겠다.

 

=============================================================================================

 

감기로 컨디션이 안좋은 왕비님과 공주님으로 인해서

연말연초에 집에서 뒹굴뒹굴 모드로만 지내야 하는 상황에서 가까운 곳이라도 가고 싶어서 찾은 곳.

 

 

T-map에서는 "똥박물관"이라고 검색해도 나오던데...^^

길검색을 위해서는 "해우재"로 검색하는 것이 제일 좋다!

 

 

 

수원이라고 해서 동탄에서 이동하기에 가까울거라 생각했는데,

동탄에서 반대편으로 끝에 있는 수원이다... ㅋ

 

왕비님은 집에서 쉬라고 하고,

공주님과 붕붕이 타고선 약 30분 정도 걸려서 도착한 "똥 박물관" !!!

 

 

 

작은 규모의 "화장실"을 테마로한 박물관이다.

입장료도 없고 주차요금도 없는 좋은(^^) 곳이다.

 

 

봄이나 여름에 와도 좋을 것 같다.

 

 

야외에 재미있는 것이 더 많다.

애들이 정말 재미있어 한다.

 

 

엄마 아빠가 옛날 화장실 이야기 해주면서 둘러보면 정말 재미있다.

 

 

야외에 비해서 실내는 그닥 재미있지는 않다.

하지만 그래도 깔끔하고 나름 아가들이 볼만한 꺼리는 있다.

 

 

해우재 길 건너편에는 "해우재 문화센터"가 있다.

길이라고 해봐야 왕복2차선이다 ^^

 

 

똥의 느낌을 체험도 할 수 있고, 방구 소리도 들어볼 수 있는... 미끄럼틀도 있는...

똥 관련 도서가 모여있는 쪼꼬만한 도서관도 있다.

 

 

해우재는 초등학교 저학년에 적합하고...

문화센터는 유치원생에게 적합한 수준이다.

 

 

아가랑 재미나게 구경하다가.... 점심 때가 되어 고민했는데...

해우재 바로 옆에 "물레방아"라는 식당이 보여서 그냥 그 곳으로 갔다.

 

 

아가랑 단 둘이다 보니.... 주문을 하나만 해야할지 두개를 해야할지 고민했는데...

남자의 허세때문에...

돌솥밥과 묵비빔밥 2개를 주문했다.

 

 

우리 아가가 매운거 잘 못먹고, 나물 별로 안좋아하고... 입이 짧아서 걱정했는데...

묵도 맛있었고 반찬도 맛있었고... 괜찮았다.

 

 

돌솥밥에 홍합이 들어가서 아가가 좀 싫어했지만... 홍합은 걷어내서 내가 먹고...

아가는 고구마랑 함께 나물들을 비벼서... 맛나게 먹었다. 우와~ 우리 아가가 왠일로~

거기에다가 밥 걷어내고 따뜻한 물을 부어서 먹는 숭늉으로 마무리도 맛나게 먹었다!

묵비빔밥도 맛나고 반찬도 맛나고 된장찌개도 맛나고 묵무침도 맛나고...

 

하지만... 다 못먹고 좀 남긴 것은 단점 ^^

나중에 왕비님과 함께 와서 먹으면 완벽할 것 같다!

 

 

하루 재미나게 잘 보냈다!

 

 

반응형


Docker의 인기에 비해서 아직 내 주위의 사람들이 많이 사용하지 않는 이유는...?!

설치 과정이 편하지 않기 때문이라고 생각한다! 어려운게 아니라 귀찮다!


물론 공식 홈페이지에 너무나 잘 나와있다.

- https://docs.docker.com/engine/installation/ubuntulinux/



공식 홈페이지 내용 참고해서 직접 해보면서 진행했던 내용의 기록이다.

하나씩 따라가보자.



1. GPG Key 등록하기


$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D




2. apt 소스 리스트 추가하기


$ sudo nano /etc/apt/sources.list.d/docker.list


deb https://apt.dockerproject.org/repo ubuntu-precise main


$ sudo apt-get update




3. 이전에 설치한 것이 있다면 지워버리기


$ sudo apt-get purge lxc-docker

$ sudo apt-cache policy docker-engine




4. 필요한 패키지 설치하기 (필자는 이미 설치되어 있던데)


$ sudo apt-get install linux-image-generic-lts-trusty




5. Docker 설치하기


$ sudo apt-get install docker-engine





6. Hello World


$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b901d36b6f2f: Pull complete
0a6ba66e537a: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
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.
 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 Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/




7. 실행 그룹에 포함되기


    - sudo 없이그냥 실행할 수 있게 되기 위해서는 docker 그룹에 포함이 되면 된다.


$ sudo usermod -aG docker {사용하는 계정}


   - 완전히 로그아웃을 하고 다시 해당 계정으로 로그인을 한 뒤에 터미널을 열면... sudo 없이...


$ docker run hello-world





반응형


아직도 에피소드 #2



< 순군만호부 >

고려 말기부터 조선 초기에 운영된 치안 기관.

주로 절도, 난동, 풍기 등의 단속 업무를 했다고 한다.


나중에 조선 시대의 의금부가 된다.



이 부분에서 또 하나의 픽션이 나오는데...



애타게 승냥이를 찾는 승냥이의 아빠... 즉, 기황후의 아빠...가 만호장으로 나온다.


역사적으로 기황후 아빠는

음서(음보) 제도를 통해서 관직을 받았을 뿐이었다. 즉, 만호장이 아니었다.


드라마의 재미를 위해 만들어진 부분~ ^^



반응형


일부러 이슈화를 하고 싶어서인가?!

당연히 합격을 해야할 친구가 탈락의 위기를 겪어야 하다니...



자우림의 느낌이 드는 몽환적이지만 조금은 날카로운 음악을 들려준 "우예린"...

예전 박혜경의 "사막 하늘 끝에"라는 곡이 떠오르기도 했다.


양현석과 박진영의 코멘트로 다시 KPOP에서 이러한 음악이 나오기 힘들 것을 생각하니 괘씸하다!!!

이러한 분위기의 곡을 마이너로만 취급하면 안되는데...


좋은 노래 듣고선 괜히 기분 상했다.


최근 슈퍼스타K의 위기를 보고선 일부러 "이 정도 참가자도 아슬아슬하다"라는 것을 보여주고 싶었던건지...




KPOP의 정체성은 이해를 한다. 다른 오디션 프로그램과의 차별성도 충분히 이해를 한다.

하지만 이건 좀... 첫 참가자를... 이런... 에이... 쫌... 치이...



 

반응형


아직도 Episode #01 ~



"각염법"이란

고려 후기 때 실시된 것으로 추정되는 소금 생산과 유통을 모두 국가에서 하겠다라는 제도이다.


"충선왕" 이전에는 염호로부터 세금만 받았었지만,

국가 재정도 어렵고 권세가들을 눌러놔야 되는 상황이 되어 "충선왕" 부터 "각염법"을 시행했다.


    - 고조 할아버지 (충렬왕) : 고려 25대 왕 (1274 ~ 1298, 1298 ~1308)

    할아버지      (충선왕) : 고려 26대 왕 (1298, 1308 ~ 1313)

    아빠           (충숙왕) : 고려 27대 왕 (1313 ~ 1330, 1332 ~ 1339)

    본인           (충혜왕) : 고려 28대 왕 (1330 ~ 1332, 1339 ~ 1344)



항상 그렇지만, 소금 공급의 부족 & 관염관들의 부정 & 사염의 성행 等 많은 폐단이 발생하였다.

특히 권호들에 의한 소금 빼돌리기 현상으로 소금이 더욱 부족하게 되었다고 한다.


< 요즘은 소금 걱정을 하지 않으니 좋아요~ >



여기까지~


반응형


짜증나는 오류 보고 메시지...



원인을 찾아보기 위해 로그를 뒤져보았다.


$ nano /var/log/syslog


어라?! 진짜로 error 메시지가 보이네....



Nov 15 01:31:05 u12-VBox NetworkManager[839]: <info> DNS: starting dnsmasq...

Nov 15 01:31:05 u12-VBox NetworkManager[839]: <error> [1447518665.535971] [nm-dns-dnsmasq.c:393] update(): dnsmasq not available on the bus, can't update servers.

Nov 15 01:31:05 u12-VBox NetworkManager[839]: <error> [1447518665.536318] [nm-dns-dnsmasq.c:395] update(): dnsmasq owner not found on bus: Could not get owner of name 'uk.org.thekelleys.dnsmasq': no such name

Nov 15 01:31:05 u12-VBox NetworkManager[839]: <warn> DNS: plugin dnsmasq update failed



뭔가 해보자.


$ sudo cp /usr/share/doc/dnsmasq-base/examples/dnsmasq.conf.example /etc/NetworkManager/dnsmasq.d/dnsmasq.conf


샘플 복사하고...


#strict-order


→ strict-order


주석 지워주자!



$ sudo restart network-manager



서비스 재시작!




반응형


자밀킴 탈락



결승은 "케빈오" & "천단비" ~





이번에 자밀킴... 나쁘지는 않았다.




다만... 자밀킴이 그다지 즐거워 보이지 않았다.

좀 지쳐보이는 것은 나만의 착각일까?!


좀더 즐겁게 여유를 갖고 준비를 했으면 좀 더 좋은 무대가 될 수 있었을텐데...

노래 자체에 여유가 보이지 않았다. 




장재인... 좋아했는데... 이번 무대 실망이었다.




대체 뭐야...


케빈오... 천단비... 둘을 무시하는 것은 아니지만... 음... 결승전이 별로 기다려지지 않는다.



반응형

+ Recent posts