博客日历
2024年05月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
29 | 30 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 | 1 | 2 |
存档
2024年03月 04月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
Docker使用入门
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的使用过程:
分类:Linux 查看次数:6038 发布时间:2016/7/3 12:22:58