docker 筆記(基本概念、快速執行、自定義映象)

baibaluo發表於2015-04-21
1、docker
docker是一個打包應用的工具
非常強大,能把作業系統也打在包裡,進行無差別部署和執行。
所以docker也被認為是建立在作業系統上的虛擬機器。
 
2、基本概念
映象(image):
類似作業系統的映象,包括一個完整可執行的系統,作業系統、基礎元件、應用程式都可以打包在一個映象中。
容器(container):
容器是某一個docker映象的執行例項,可以啟動、關閉、刪除,可以理解成正一個linux系統,同一臺機器上的多個container互相隔離。
 
3、簡單使用
#安裝docker(centos6.5以上)
yum install -y epel-release
yum update -y device-mapper
yum erase -y docker
yum install -y docker-io
service docker status
 
#從官方倉庫中下載image
docker pull centos
docker pull ubuntu
 
#檢視本地可用的image
docker images
 
#啟動一個centos的dokcer容器,直接進入bash
docker  run  -it  centos  bash 
 
#後臺啟動一個centos的dokcer容器
docke r run  -d  -it  centos
 
#後臺啟動一個centos的dokcer容器,監聽80埠,對映到容器裡的8080埠
docke r run -p 80:8080  -d  -it  centos
 
#檢視正在執行的docker容器
docker ps
 
#檢視所有docker容器
docker ps -a
 
#在執行狀態的容器裡啟動一個bash(進入正在執行的容器)
docker  exec  -it  $container_id  bash
 
#啟動/關閉/重啟容器
docker  start/stop/restart  $container_id
 
#刪除容器
docker  rm  $container_id
 
4、建立自定義映象,打包應用
mkdir test_image
cd  test_image
#建立Dockerfile
vi  Dockerfile
# 自定義image
#繼承一個已有的映象,這裡用cetos作為基礎
FROM centos
MAINTAINER Luo <luochongyang@yazuo.com>

#安裝一些基礎元件
RUN yum install -y java-1.7.0-openjdk

#把應用程式放入映象(app1.tar.gz 事先放在同級目錄下
RUN mkdir /yazuo_apps/
ADD app1.tar.gz /yazuo_apps/
 
#打包映象,映象名為app1,版本為1.0
docker build -t app1:1.0 .
 
#啟動映象,並啟動app1,把本機的8080埠對映到容器的8080埠
docker run -d -p 8080:8080 -it /yazuo_apps/app1/start.sh
 
#匯出映象(直接通過檔案來分發映象到其他機器)
docker  save  -o app1-1.0.image  app1:1.0
 

相關文章