1 Docker简介

Docker是运行在Linux上的一个开源容器,为帮助理解,可以认为Docker是共享宿主操作系统并实现了资源隔离的轻量化虚拟机。

https://www.docker.com/what-docker

http://www.docker.org.cn/book/docker/what-is-docker-16.html


1.1 安装

yum makecache
yum install epel-release
yum install docker-io


1.2 下载镜像并体验

由于网络问题,并不能简单的使用docker pull centos:latest下载镜像。


可以下载OpenVZ的centos模板,从centos模板生成镜像。

http://openvz.org/Download/template/precreated

这里选择:centos-6-x86_64-devel.tar.gz


导入镜像:

cat centos-6-x86_64-devel.tar.gz | docker import - centos-6-x86_64-devel
docker images

REPOSITORY              TAG        IMAGE ID       CREATED             VIRTUAL SIZE

centos-6-x86_64-devel   latest     c5d940e321bd   3 minutes ago       694.6 MB


测试该镜像:

docker run -i -t centos-6-x86_64-devel /bin/bash
docker run -i -t centos-6-x86_64-devel echo "Hello World."


2 常用命令

列出镜像,查看镜像id

sudo docker images


保存已经修改的容器为镜像

sudo docker commit a0b49731cf6f aaa_jdk1.7
sudo docker commit c820c7f7639e aaa_jdk1.7:V1.0


为镜像改名:

sudo docker tag <imageid> <name>:<tag>

例如:

sudo docker tag b7a4bfec918d aaa_jdk1.7:1.0


删除镜像:

sudo docker rmi -f b7a4bfec918d


测试镜像:

sudo docker run \
--rm=true \
--workdir=/xxx/bin \
-v /opt/yyy:/xxx \
-e JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.95-2.6.4.0.el7_2.x86_64 \
-e PATH=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.95-2.6.4.0.el7_2.x86_64/bin:$PATH \
-it "aaa_jdk1.7:1.0" \
/bin/bash


显示输出的日志

sudo docker logs 50c16af0a733ccbfb8e82dd2403b918521d33cf5b9443e8c749f5f8e7908c5c0


导出带数据层的历史记录:

sudo docker save "aaa:latest" > ~/aaa:latest.tar


导出不带数据层的历史记录:

sudo docker ps
sudo docker export 5267bdd5ebb3 > ~/aaa.tar


sudo docker run启动一次就会创建一个容器。


列出所有容器

sudo docker ps -l
sudo docker ps -a | awk '{print $1}'


删除所有容器

sudo docker ps -a | awk 'NR > 1 {print $1}' | xargs sudo docker rm


3 通过Dockerfile创建镜像

Dockerfile示例:

FROM aaa:latest

MAINTAINER zhang sam "sam@163.com"

RUN yum install -y java-1.7.0-openjdk.x86_64
RUN yum install -y java-1.7.0-openjdk-devel.x86_64

ENV JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.95-2.6.4.0.el7_2.x86_64
ENV PATH=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.95-2.6.4.0.el7_2.x86_64/bin:$PATH


在Dockerfile所在目录下运行:

sudo docker build ./


下面这张图应该可以帮助理解Docker的使用过程:
201447318131616.png


本文链接地址: Docker使用入门
http://qingfengju.com/index.asp?id=394

分类:Linux 查看次数:3770 发布时间:2016-7-3 12:22:58