본문 바로가기

ire0546/DOCKER

[1] Docker 사용해보기

sudo su

root 권한에서 해야 한다길래, 위의 명령어로 root 권한으로 바꾸고 나서 작업을 했다.

docker ps

현재 실행되고 있는 도커를 확인하는 명령어이다. 지금 현재는 아무것도 존재하지 않는다.

docker images 

다운받은 이미지들을 한 번 쭉 출력해보았다. 이전에 받은 기록이 출력되었다.

 

docker run ubuntu:16.04

시험용으로 우분투 16.04 버전을 다운받아보았다.

 

docker run --restart always --name [containerName] -dt [downloadImage]

도커 이미지를 실행시키기 위한 명령어이다. 여기서 중요한 옵션은 -dt 옵션인데, d는 백그라운드에서 실행시켜주고, t는 pseudo-TTY를 사용한다는 뜻이다. docker ps 명령어를 사용해보니, 이전과는 달리 실행하고 있는 도커를 보니 방금 실행시켰던 컨테이너 이름이 보인다.

 

 

docker exec -it [containerName] /bin/bash

실행중인 컨테이너 내부로 들어가기 위한 명령어이다. 이 명령어로 내부로 들어왔다. 또 다른 환경에 들어온 셈이다.

여기서 ls 명령어를 쳐 보았다. 존재하는 디렉토리들이 쭉 나오는 것을 볼 수 있다.

 

유저를 등록하는 것도 진행해보았다.

adduser [userID]

도커 환경 내에 user를 추가하고, 기타 패스워드와 정보를 입력한다. default라면 공백으로 남긴 채 엔터만 계속 눌러도 상관없다. 유저를 등록하고, 아래의 명령어로 user로 로그인을 하면 사용자가 바뀐 것을 볼 수 있다.

 

docker exec -u [userID] -it [containerName] /bin/bash

 

이제 컨테이너 변경사항을 commit하여 이미지로 만들어보았다.

 

docker commit [containerName] [makingName]:[tag]

위처럼 입력하여 commit을 하고 생성된 이미지를 조회해보니 이전에 만든 ire0546/sample이 존재하는 것을 볼 수 있다.

 

도커 컨테이너 볼륨 및 데이터 공유에 대해서는 내일 다시 다뤄보겠다.

호스트의 디렉토리와 연동시켜서 실행시키기를 시도는 해 보았는데 이미 연동되어있다는 식의 오류가 떠서 내일은 이것을 해결하고 연동해보기를 성공시키는 것을 목표로 하자.