1.Docker介绍
- 容器技术是一种进程隔离技术
- 应用可以运行在一个个相互隔离的容器,与虚拟机不同的是:
- 应用运行时公用一个Kernel容器技术
- 提升了对系统资源利用率
- 提高了应用的部署迁移效率
1.1 Docker介绍
- Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。
- Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布在任何流行的Linux机器上,也可以实现虚拟化。

1.2 Docker概念

1.3 Docker架构

2.Docker安装与服务
2.1 Docker安装
-
配置Yum源
/etc/yum.repos.d/docker.repo
[ali-epel]
baseurl=https://mirrors.aliyun.com/epel/6/x86_64
enabled=1
gpgcheck=0 -
安装Docker软件
yum install docker-io
2.2 Docker服务管理
-
Docker服务查看
service docker status -
Docker服务启动
service docker start -
Docker服务停止
service docker stop -
Docker服务开机启动
chkconfig docker on
3.Docker操作
3.1 Docker信息查看
- 常用命令
docker info
docker version
docker images
docker ps[-a]
docker inspect CONTAINER|IMAGE
docker history IMAGE
-
Docker加速器配置
/etc/docker/daemon.json
{"regeistry-mirrors":["https://xxxx.mirror.aliyuncs.com"]} -
重启docker服务
service docker restart -
搜索和下载容器
docker search centos //搜索镜像
docker pull centos //下载镜像
docker images //查看本地镜像
3.2 运行容器
- 运行docker容器
docker run -it -d centos /bin/bash //运行docker容器
docker ps [-a] //查看运行中的容器
docker attach <CONTAINER ID> //进入后台运行的容器
-
登录docker
docker exec -it <ContainerID>|<Names> /bin/bash exit 退出,结束运行 按ctrl+P+Q退出,后台继续运行 -
SSH登录
如果容器有启动SSH服务,可以通过SSH登录容器 -
数据复制
- 把容器的文件或目录复制到本机
docker cp 98d01104e30c:/www/ /www/ - 把主机文件或目录复制到容器
docker run 创建容器时,挂在指定目录
docker run -itd -v /data:/data my/centos /bin/bash
- 把容器的文件或目录复制到本机
-
容器启停
docker start <ContainerID>|<Names> //启动容器
docker stop <ContainerID>|<Names> //停止容器
docker restart <ContainerID>|<Names> //重启容器
3.3 构建镜像
-
从容器构建镜像
- 运行一个容器
- 登录容器,修改容器内的文件或软件(例如安装httpd)
- 停止容器
docker stop - 提交容器
docker commit -m "message" -a "author" docker_name my_centos:V2
-
使用Dockerfile构建镜像
-
创建空目录,并新建Dockerfile文件
FROM 基于那个镜像
RUN 安装软件用
MAINTAINER 镜像创建者 -
创建镜像
docker build -t my/centos_nfs:v2 -
Dockerfile示例
FROM cnetos:6 MAINTAINER author RUN yum -y install httpd WORKDIR /root ADD index.html /var/www/html CMD /etc/init.d/httpd start -