您的位置:首页 > 运维架构 > Docker

docker 笔记(基本概念、快速运行、自定义镜像)

2015-04-21 22:40 447 查看
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、[b]创建自定义镜像,打包应用[/b]
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: