Ansible은 장점이 많은 도구인 것 같다.

첫번째로 Master에만 설치하면 된다는 점에서 좋고, 두번째로는 SSH 기반으로 일을 한다는 것이 좋다!



 

 

지난 포스팅을 통해서 Master 역할을 할 아이에게 Ansible을 설치했다는 전제 하에 설명을 진행하겠다.

    - [ Ansible Source Install (Ubuntu 14.04) ] : http://www.whatwant.com/865

 

 

 

 

그 다음 해야할 첫번째 일은... Master에서 Slave로 SSH로 접근할 수 있는 길을 만드는 것이다.

    - [ SSH Public Key - SSH 공개키 ] : http://www.whatwant.com/395

 

Master에서 ssh 키를 생성하고나서 Slave들에게 public-key를 넣어주면 된다.

 

 

 

 

 

이제 해야할 일은 Ansible에게 Slave가 누군지를 알려줘야 한다.

hosts 파일을 만들자. 꼭 이름을 "hosts"라고 해야하는 것은 아니다.

 

$ nano ./hosts

 

Slave IP 정보를 적어주면 된다. 꼭 "[Staging]"이라고 이름을 지어야 하는 것은 아니다.

 

[staging]
192.168.100.105

 

 

 

주인의 명령을 듣는 노예(Slave)들에게는 내가 주인인 것을 알려주는 열쇠가 필요하다. SSH Public-Key

    - http://www.whatwant.com/395


주인의 키를 노예에게 넣어놓자!


 

 

Slave와 잘 통하는지 알아보자.

 

$ ansible all -m ping -i ./hosts -u u14
192.168.100.105 | SUCCESS => {
    "changed": false,
    "failed": false,
    "ping": "pong"
}

 

"-i" 옵션 뒤에는 앞에서 만든 hosts 파일을 지정해주면 되고.

"-u" 옵션 뒤에는 Slave에 접근할 계정을 지정해주면 된다.

 

 

 

 

그럼 간단한 명령어를 원격으로 날려보자.

 

$ ansible -i ./hosts staging -u u14 -m command -a "ls -ahl"
192.168.100.105 | SUCCESS | rc=0 >>
합계 140K
drwxr-xr-x 18 u14  u14  4.0K  7월  2 03:38 .
drwxr-xr-x  3 root root 4.0K  8월  9  2015 ..
-rw-------  1 u14  u14  7.4K  7월  2 03:37 .ICEauthority
-rw-------  1 u14  u14    53  7월  2 03:37 .Xauthority
drwx------  3 u14  u14  4.0K  6월 25 19:07 .ansible
-rw-------  1 u14  u14  2.0K  6월 26 00:35 .bash_history
-rw-r--r--  1 u14  u14   220  8월  9  2015 .bash_logout
-rw-r--r--  1 u14  u14  3.6K  8월  9  2015 .bashrc
drwx------ 14 u14  u14  4.0K  6월 25 14:58 .cache
drwx------  3 u14  u14  4.0K  8월  9  2015 .compiz
drwx------ 14 u14  u14  4.0K  8월  9  2015 .config
drwx------  3 u14  u14  4.0K 12월 12  2016 .dbus
drwx------  3 u14  u14  4.0K  7월  2 03:37 .gconf
drwx------  3 u14  u14  4.0K  8월  9  2015 .local
-rw-r--r--  1 u14  u14   675  8월  9  2015 .profile
drwxrwxr-x  2 u14  u14  4.0K  6월 25 18:59 .ssh
-rw-r-----  1 u14  u14     5  7월  2 03:37 .vboxclient-clipboard.pid
-rw-r-----  1 u14  u14     5  7월  2 03:37 .vboxclient-display.pid
-rw-r-----  1 u14  u14     5  7월  2 03:37 .vboxclient-draganddrop.pid
-rw-r-----  1 u14  u14     5  7월  2 03:37 .vboxclient-seamless.pid
-rw-rw-r--  1 u14  u14   131  8월  9  2015 .xinputrc
-rw-------  1 u14  u14    54  7월  2 03:37 .xsession-errors
-rw-------  1 u14  u14   833  7월  2 03:11 .xsession-errors.old
-rw-r--r--  1 u14  u14  8.8K  8월  9  2015 examples.desktop
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 공개
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 다운로드
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 문서
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 바탕화면
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 비디오
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 사진
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 음악
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 템플릿

 

 

"$ sudo apt-get -y upgrade" 명령어 등을 이용하면...^^

 

 

 

 

Ansible을 이용해서 Slave에 접근하는 것에 대해서 살짝 맛만 봤다.

제대로 이용하기 위해서는 playbook 등을 이용해야하지만, 지금은 맛만 살짝~




다음에 기회가 되면 계속 이어가보겠다~



 

반응형

2019.07.07


간만에 해보려고 했더니, 에러가 발생한다.

공식 가이드에도 14.04 버전에 대한 가이드 내용이 사라졌다.

아래 내용은 그냥 참고만 하시길...


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


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

- https://docs.docker.com/engine/installation/linux/ubuntu/



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

하나씩 따라가보자.


※ 이 블로그를 계속 봐오신 분들은 아시겠지만... 아래 내용은 직접 실행해보면서 작성한 것입니다.

※ VirtualBox를 이용하여 해당 OS를 설치하고 update까지만 마친 상태에서 진행하였습니다.




1. Ubuntu version

    - Docker에 대한 환상을 갖고 있었다. OS에 의존하지 않고 자유로운.... 하지만 꽝!

    - Ubuntu 14.04, 16.04, 16.10 만 지원하고 있다.

    - 특히, 64bit 만 지원한다! 32bit 안된다!



2. 필요 패키지 설치 (Ubuntu 14.04)

    - Ubuntu 14.04 버전에서만 하면 된다고 한다.


sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual



3. Binary 확인

    - 웹으로 다운로드 받을 버전을 확인하자.




4. Download 받기


$ wget https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.03.1~ce-0~ubuntu-trusty_amd64.deb



5. Docker 설치하기


sudo dpkg --install ./docker-ce_17.03.1~ce-0~ubuntu-trusty_amd64.deb



6. Hello World


$ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

78445dd45222: Pull complete 

Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7

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 ID:

 https://cloud.docker.com/


For more examples and ideas, visit:

 https://docs.docker.com/engine/userguide/



끝~

반응형

 


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

- https://docs.docker.com/engine/installation/linux/ubuntu/



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

하나씩 따라가보자.


※ 이 블로그를 계속 봐오신 분들은 아시겠지만... 아래 내용은 직접 실행해보면서 작성한 것입니다.

※ VirtualBox를 이용하여 해당 OS를 설치하고 update까지만 마친 상태에서 진행하였습니다.




1. Ubuntu version

    - Docker에 대한 환상을 갖고 있었다. OS에 의존하지 않고 자유로운.... 하지만 꽝!

    - Ubuntu 14.04, 16.04, 16.10 만 지원하고 있다.

    - 특히, 64bit 만 지원한다! 32bit 안된다!



2. 필요 패키지 설치 (Ubuntu 14.04)

    - Ubuntu 14.04 버전에서만 하면 된다고 한다.


sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual



3. GPG Key 등록 준비


sudo apt-get install apt-transport-https ca-certificates curl software-properties-common



4. GPG Key 등록하기


curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88



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


sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

$ sudo apt-get update



6. Docker 설치하기


sudo apt-get install docker-ce



7. Hello World


$ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

78445dd45222: Pull complete 

Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7

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 ID:

 https://cloud.docker.com/


For more examples and ideas, visit:

 https://docs.docker.com/engine/userguide/



끝~

반응형

 

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의 문법에 대해서 설명을 하지는 않겠다.

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

 

 

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

 

 

반응형


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





반응형


빌드 환경을 테스트하는데,

Ubuntu 12.04 환경과 Ubuntu 14.04 환경 모두 필요해서 고민하던 중에 문득 떠오른 Docker.


설치까지만 해보고 가지고 놀지를 못하다보니 docker의 개별 image를 어떻게 다루어야 할지,

image와 container를 어떻게 구분을 해야 하는지,

각 container가 어느 정도의 독립성을 갖고 있는지 아무것도 확신이 없다.


하나씩 정복해보도록 하겠다.




1. Image 다운로드 받기


- Ubuntu 이미지를 다운로드 받으려면 다음과 같이 했었다.


$ docker pull ubuntu

latest: Pulling from ubuntu


83e4dde6b9cf: Pull complete 

b670fb0c7ecd: Pull complete 

29460ac93442: Pull complete 

d2a0ecffe6fa: Already exists


$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

ubuntu              latest               d2a0ecffe6fa         2 days ago            188.4 MB

ubuntu              14.04              5ba9dab47459        5 months ago        188.3 MB

ubuntu              14.04.1            5ba9dab47459        5 months ago        188.3 MB

ubuntu              trusty               5ba9dab47459        5 months ago        188.3 MB


- 그런데, 우리가 필요한 12.04 버전이 없다.




2. 특정 버전의 Ubuntu 다운로드 받기


- 우리가 필요한 12.04를 다운로드 받기 위해서는 다음과 같이 하면 된다.


$ docker pull ubuntu:12.04

12.04: Pulling from ubuntu


093e01545ca5: Pull complete 

639d60300768: Pull complete 

50e9f95f98f1: Pull complete 

6d021018145f: Already exists 

ubuntu:12.04: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.


Digest: sha256:ac1fcd76d94daa6ee3e832b540812d42a0095bfdc7c2837e2fc6cee2ec9809d7

Status: Downloaded newer image for ubuntu:12.04



$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

ubuntu              latest               d2a0ecffe6fa          2 days ago           188.4 MB

ubuntu              12.04               6d021018145f        2 days ago           134 MB

ubuntu              14.04               5ba9dab47459       5 months ago        188.3 MB

ubuntu              14.04.1             5ba9dab47459       5 months ago        188.3 MB

ubuntu              trusty               5ba9dab47459        5 months ago        188.3 MB



 

다음 링크 참조하면 도움이 많이 될 것이다.

https://github.com/docker/docker/wiki/Public-docker-images



반응형


예전에 타이젠(Tizen)의 빌드 환경을 통해 어설프게 접하게 된 컨테이너 기반의 가상환경.
최근에 IT 관련 뉴스를 통해서 docker라는 오픈소스 소프트웨어를 알게 되었고 관심을 갖게 되었다.

VMWare, VirtualBox와 같은 Host OS와 분리되어 거의 완벽히 가상의 Destop을 활용하는 것이 장점이 많기는 하지만,
치명적인 약점이 하나 있는데, Host OS에서 프로세스를 실행하는 것과 비교하여 현저히 떨어지는 성능이 이슈이다.

그런데, 이러한 성능 문제를 해결하면서 독립적인 환경을 구축할 수 있도록 도와주는 기술이 있으니,
Linux Container에 기반한 컴패니언(companion) 소프트웨어인 "docker"가 바로 그러한 기술이다!
 

docker 설치 방법은 다음 경로를 통해서 확인할 수 있다.
   - http://docs.docker.com/installation/ubuntulinux



1. 현재 서버 상태 확인
    - docker를 설치하고자 하는 서버의 상태를 먼저 확인하자.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty

$ uname -a
Linux chani-VBox 3.13.0-39-generic #66-Ubuntu SMP Tue Oct 28 13:30:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux



2. docker 설치
   - 패키지로 설치하면 된다.

$ sudo apt-get install docker.io

$ docker -v
Docker version 1.0.1, build 990021a


   - 이걸로 설치는 끝이다.



3. 사용자 설정
   - 별도의 root 권한 (sudo) 없이 그냥 사용하기 위해서 docker 그룹에 포함이 되자.

$ sudo gpasswd -a [현재사용자] docker
사용자 [현재사용자]을(를) docker 그룹에 등록 중

$ sudo service docker.io restart


   - docker 그룹에 포함된 것이 적용되기 위해서는 다시 로그인을 하면 된다.



4. 현재 Image 확인
   - 명령어들을 하나씩 확인해보자.

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE


   - 3번의 설정을 하지 않았으면 위와 같이 명령어를 했을 때, 권한 에러가 난다.
   - 아직은 아무런 이미지가 없는 상태다.



5. 이미지 다운로드 받기
   - docker에서는 미리 이미지를 만들어놓은 것을 제공해준다.
   - 제공해주는 image를 다운로드 받자.

$ docker pull ubuntu
Pulling repository ubuntu
195eb90b5349: Download complete
277eb4304907: Download complete
463ff6be4238: Download complete
c5881f11ded9: Download complete
3db9c44f4520: Download complete
0b310e6bf058: Download complete
5506de2b643b: Download complete
511136ea3c5a: Download complete
6cfa4d1f33fb: Download complete
3af9d794ad07: Download complete
bac448df371d: Download complete
5f18d94c3eca: Download complete
e12c576ad8a1: Download complete
f127542f0b61: Download complete
d497ad3926c8: Download complete
53db23c604fd: Download complete
b7c6da90134e: Download complete
fae16849ebe2: Download complete
dfaad36d8984: Download complete
9f045ea36057: Download complete
47dd6d11a49f: Download complete
0f4aac48388f: Download complete
5796a7edb16b: Download complete
d03a1a9d7555: Download complete
209ea56fda6d: Download complete
30868777f275: Download complete
102eb2a101b8: Download complete
ccb62158e970: Download complete
530dbbae98a0: Download complete
e791be0477f2: Download complete
37dde56c3a42: Download complete
3680052c0f5c: Download complete
8f118367086c: Download complete
22093c35d77b: Download complete


   - 다운로드 받은 것을 확인해 보자.

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              14.10               277eb4304907        3 weeks ago         228.5 MB
ubuntu              utopic              277eb4304907        3 weeks ago         228.5 MB
ubuntu              trusty              5506de2b643b        3 weeks ago         199.3 MB
ubuntu              14.04               5506de2b643b        3 weeks ago         199.3 MB
ubuntu              latest              5506de2b643b        3 weeks ago         199.3 MB
ubuntu              14.04.1             5506de2b643b        3 weeks ago         199.3 MB
ubuntu              12.04               0b310e6bf058        3 weeks ago         126.7 MB
ubuntu              12.04.5             0b310e6bf058        3 weeks ago         126.7 MB
ubuntu              precise             0b310e6bf058        3 weeks ago         126.7 MB
ubuntu              12.10               c5881f11ded9        5 months ago        172.2 MB
ubuntu              quantal             c5881f11ded9        5 months ago        172.2 MB
ubuntu              13.04               463ff6be4238        5 months ago        169.4 MB
ubuntu              raring              463ff6be4238        5 months ago        169.4 MB
ubuntu              13.10               195eb90b5349        5 months ago        184.7 MB
ubuntu              saucy               195eb90b5349        5 months ago        184.7 MB
ubuntu              10.04               3db9c44f4520        6 months ago        183 MB
ubuntu              lucid               3db9c44f4520        6 months ago        183 MB



6. 실행해 보기
   - 다운로드 받은 이미지 중 하나를 실행해보자.

$ cat /etc/issue
Ubuntu 14.04.1 LTS \n \l

$ docker run -i -t ubuntu:12.04 /bin/bash

root@9463f87188ac:/# cat /etc/issue
Ubuntu 12.04.5 LTS \n \l


   - 14.04 버전의 Ubuntu에 docker를 설치하고, 이미지를 다운로드 받은 후
   - 12.04 버전의 Ubuntu를 docker를 통해서 실행을 한 것이다.

   - 마치 telnet이나 ssh를 통해서 접속한 것과 같은 모습이다.


일단 여기에서 한 꼭지 마무리하겠다.

반응형

기본적인 공유에 대해서는 다음 아티클로 포스팅을 했었다.

   - http://whatwant.tistory.com/381

공용폴더를 설정한 후 우분투를 부팅하게 되면 아래와 같이 공유 폴더가 /media/ 디렉토리 밑에 보이게 된다.


$ ls -al

합계 12

drwxr-xr-x     4  root   root      4096  8월 17 16:12 ./

drwxr-xr-x   23   root   root     4096  8월 17 14:02 ../

drwxrwx---   1   root   vboxsf      0  8월 17 16:14 sf_Share/


소유권한 부분을 보면 알겠지만, root 계정과 vboxsf 그룹에 속한 디렉토리이다.

그렇기에 일반 계정으로는 접근하려면 상당히 귀찮다. 권한에 막혀버리니...

$ sudo usermod -G vboxsf -a <계정>


위와 같이 사용하고 있는 계정을 [ vboxsf ] 그룹에 속하게 해주면 된다.



VirtualBox를 사용하는 많은 분들이 게스트 운영체제로 리눅스를 사용할 때에
공용 폴더를 자동으로 마운트를 하고서도 다시 마운트를 잡아주곤 한다.

경로를 다시 잡아주기 위해서라거나 분명한 사유가 있어서라면 그렇게 해도 되겠지만,
자동으로 마운트 설정을 잡아준 상황에서 궂이 그렇게 할 필요가 있나 싶다.

다만, 권한 문제로 사용하기가 불편하니 위와 같이 권한 설정으로 편하게 사용하자.


반응형

+ Recent posts