1. Docker是什么?
1.1 Docker简介
Docker是一个能把开发的应用程序自动部署到容器的开源引擎。
1.2 Docker组件
- Docker引擎(Docker的客户端和服务器)
- Docker镜像
- Registry
- Docker容器
1.3 Docker的安装
Docker可以部署在Ubuntu、Centos等宿主机中。在Centos7中使用以下命令安装:
#安装Docker,-y参数表示answer yes for all questions,
sudo yum install -y docker
#启动Docker
sudo systemctl start docker
#查看docker是否运行正常
docker info
2.Docker镜像
2.1 什么是Docker镜像?
Docker镜像是由文件系统叠加而成的。
2.2 列出镜像
#列出全部镜像
docker images
#列出指定的镜像
docker images 镜像名称
2.3 拉取镜像
拉取镜像时会先在本地查找,如果本地没有,就会去Docker Hub下载该镜像。Docker Hub具有两种类型的仓库,一种是用户仓库,由Docker用户创建;另一种是顶层仓库,由Docker内部人员管理。
#例如:docker pull fedora:20
docker pull 镜像名称:标签
2.4 查找镜像
#查找Docker Hub上的公共可用镜像
docker search 镜像名称
2.5 创建镜像
(1)使用docker commit命令
#docker commit提交的是创建容器的镜像与容器当前状态之间的差别。
docker commit 容器ID 用户名/仓库名
(2)使用Dockerfile创建
https://segmentfault.com/a/11…
删除镜像
docker rm 镜像名称
3. Docker容器
3.1 创建容器
在创建一个容器时,docker会构建出一个镜像栈,在栈的最顶端添加一个读写层。这个读写层再加上其下面的镜像层以及一些配置数据,就构成了一个容器。
a.创建交互式容器
#-i:保证容器的STDIN是开启的。
#-t:表示docker会为创建的容器开启一个伪tty终端。
#ubuntu:以ubuntu为基础镜像构建新的镜像。docker会先检查本地是否存在ubuntu镜像,如果不存在就到Docker Hub Registry找。
#--name 指定容器的名称,如果不指定,docker会随机生成一个名字。
#/bin/bash:容器创建完成之后,会执行/bin/bash命令。
docker run -t -i --name container_name ubuntu /bin/bash
b.创建长期运行的容器
#-d:docker会把容器放到后台运行。
docker run -d --name container_name ubuntu
3.2 查看容器
#列出正在运行的容器
docker ps
#列出最后一个运行的容器
docker ps -l
#列出全部容器5
docker ps -a
#返回指定容器的配置信息
docker inspect 容器名称
3.3 重启容器
容器重新启动的时候会按照docker run的命令的参数运行。另外,使用docker restart命令可以重新启动一个容器。使用docker create命令可以创建一个容器但是不运行。
#指定容器名称重启容器
docker start 容器名称
#指定容器ID重启容器
docker start 容器ID
3.4 附着在容器上
#附着到指定容器ID的容器上
docker attach 容器ID
#附着到指定容器名称的容器上
docker attach 容器名称
3.5 查看日志
#查看指定容器的日志
docker logs 容器名称
#跟踪指定容器的日志
docker logs -f 容器名称
#列出指定容器的日志的最后10行
docker logs --tail 10 容器名称
#
docker logs --tail 0 -f 容器名称
#容器的日志加上时间戳
docker logs -t 容器名称
#将日志输出重定向到syslog。
docker run --log-driver="syslog" --name 容器名称 -d ubuntu
3.6 删除容器
#删除指定容器
docker rm 容器ID
3.参考材料
《第一本Docker书》