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
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
相关文章推荐
- Docker笔记(一)Docker基本概念与快速入门
- 深入了解docker(docker镜像、容器、仓库的基本概念)
- docker自学笔记(0)——基本概念
- Docker快速上手系列(1):镜像的概念及相关操作
- Docker学习笔记之基本概念
- Docker学习笔记(一):Docker的三个基本概念
- Docker学习笔记(1)——基本概念
- docker学习笔记(四)——Dockerfile创建自定义镜像
- Docker学习笔记 - Docker的基本概念
- Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
- 【个人笔记重点,不作为参考】主题:docker的容器、仓库、镜像三个主要概念
- docker学习笔记3-使用docker镜像、容器运行过程
- Mac下Docker学习笔记之运行redis镜像
- S-Docker_02_基本概念_01_镜像
- Docker 学习笔记【1】Docker 相关概念,基本操作
- Docker 快速上手系列(1): 镜像的概念及相关操作
- 学习笔记 学习jvm 原理 最基本概念(编译与运行概念)
- 【C】【笔记】《C和指针》 第一章 快速上手 第二章 基本概念 第三章 数据 第四章 语句 第五章 操作符和表达式
- Docker 教程之基本概念(镜像,容器,仓库)详解
- docker学习笔记(三)——创建自定义镜像