Docker容器化技术
Docker简介
- 百度百科介绍 :
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
- Docker解决现实开发存在的问题
- 我的程序在开发环境可以运行,怎么到正式上线就不行啦
- 安装一个软件需要看一个教程,可是要安装的实在太多啦, jdk,nginx,redis…
- 一台服务器花了我生命的1/72000,终于好了,可是还有好多台服务器
- Docker核心组件
- 镜像
- 镜像是一个只读的静态模板,它保存了容器的环境和执行的代码,可以看成镜像是容器的代码,当代码执行以后就成了容器
- 容器
- 它是镜像运行时的环境,是镜像的运行时状态
- 库
- 是用户用来保存镜像的目录,可以是多个
- 是用户用来保存镜像的目录,可以是多个
- 镜像
Docker安装相关
-
Docker安装过程
-
Docker安装到CentOS上。注意:这里建议安装在CentOS7.x以上的版本,在CentOS6.x的版本中,安装前需要安装其他很多的环境而且Docker很多补丁不支持更新。
-
yum 包更新到最新
yum update
-
安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
-
安装docker
yum install docker
-
-
启动docker
systemctl docker start
-
安装后查看docker版本
docker -v
-
停止docker:
systemctl stop docker
-
重启docker:
systemctl restart docker
-
查看docker状态:
systemctl status docker
-
开机启动:
systemctl enable docker
Docker镜像相关操作
- 镜像相关命令
-
查看镜像
docker images docker images n* # 通过通配符进行搜索 /* REPOSITORY:镜像名称 TAG:镜像标签 # 一般指版本信息 IMAGE ID:镜像ID CREATED:镜像的创建日期(不是获取该镜像的日期) SIZE:镜像大小 REPOSITORY:仓库名称,其中仓库名称遵循一定的明明规则 1. [namespace\ubuntu]: 用户名+镜像名称 2. [ubuntu]: 官方镜像 3. [hub.c.163.com/library/nginx]: 第三方镜像 这些镜像都是存储在Docker宿主机的/var/lib/docker目录下 */
-
搜索镜像 (搜索镜像)
docker search 镜像名称 /* NAME:仓库名称 DESCRIPTION:镜像描述 STARS:用户评价,反应一个镜像的受欢迎程度 OFFICIAL:是否官方 AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的 */
-
拉取镜像(从中央仓库中下载镜像到本地)
docker pull 镜像名称 eg: docker pull centos:7
-
删除镜像
docker rmi 镜像ID # 如果需要一次删除多个镜像之间用空格隔开, 如果镜像已经运行, 删除前需要先停止容器
-
commit创建本地镜像
- docker commit -m “update index.html” --author=‘tyvek’ 34e404c4cca6 tyvek/nginx:v2
- 参数 -m 是对创建的该镜像的一个简单描述。
- –author 表示该镜像的作者。
- 34e404c4cca6 表示创建镜像所依据的容器的 id。
- tyvek/nginx则表示仓库名, tyvek表示用户名 nginx指镜像的名字
- v2 标签
- 创建完成后,通过 docker images 命令就可以查看到刚刚创建的镜像。
- docker commit -m “update index.html” --author=‘tyvek’ 34e404c4cca6 tyvek/nginx:v2
-
Dockerfile
-
Docker其实就是一个文件,里边包含一行行的命令,用来构建镜像
from nginx maintainer tyvek
-
-