1、什么是容器
容器是一种虚拟化的方案,由以下几个部分组成:
docker client: docker客户端
docker Daemon:docker守护式进程
docker Image:docker镜像
docker container:docker容器
docker registry:docker容器仓库
2、docker中几个基本命令
docker version:查看docker的版本号
docker search tutorial:查找tutorial镜像
docker pull learn/tutorial:从仓库拉取到本地
docker run learn/tutorial:启动容器
echo "hello world":输出内容
合并之后的命令为:docker run learn/tutorial echo “hello world”
docker run learn/tutorial apt-get install -y ping:下载安装ping命令
docker ps -l:查看有那几个容器
docker commit 容器ID learn/ping 取名
新的ID其实就是新的镜像ID
docker run learn/ping ping www.google.com
docker ps :查看正在运行中的进程号
docker ps -a :查看正在运行中以及已经停止的进程
docker inspect 容器ID:查看容器信息
docker images:查看有哪些镜像
docker push learn/ping :将该镜像保存到docker hub上
2、docker的相关技术
①namespace 命名空间
pid;process ID:进程隔离
net:network:管理网络接口
IPC:inter process communication:管理跨进程通信的访问
MNT:mount:管理挂载节点
UTS:unitx timesharing system:隔离内核和版本标识
control groups :控制组
用来分离资源
为了实现容器
资源限制
优先级设定
资源计量
资源控制
docker容器的能力
文件系统隔离
进程隔离
网络隔离
资源隔离和分组
3、docker容器的安装
Ubuntu系统中安装docker
Windows系统中安装docker
oxs系统中安装docker
Ubuntu系统中安装docker
首先在安装之前做两个检查
①内核检查;uname -a
②检查device Mapper
ls -l /sys/class/misc/device-mapper
检查存储驱动
可以安装三种版本
①安装Ubuntu系统自己维护的版本
sudo apt-get install docker.io,下载docker
source /etc/bash-completion.d/docker.io,使配置项生效
检查docker版本:sudo docker.io version
②安装docker版本
检查APT的HTTPS支持
查看/usr/lib/apt/methods/https 文件是否存在
如果不存在,就需要进行安装
apt-get update
apt-get install -y apt-transport-https
添加docker的APT仓库
③安装docker 维护的命令行的方式
https://get.docker.com/ubuntu/
4、启动交互式容器
docker -i -t ubuntu /bin/bash
-i --interactive=true|false 默认为false
-t --tty=true|false 默认为false
ps -ef
exit:停止容器并退出
docker ps [-a] [-l]
docker ps -a:检查运行过的容器
docker ps:检查正在运行的容器
docker inspect id:可以使用ID,也可以使用名字进行连接
docker run --name=container -i -t ubuntu /bin/bash
指定名字
docker ps -a:检查正在运行的docker的信息
docker inspect container:使用docker的名字检查docker的相关信息
docker启动之后,便就进入到了容器中
删除容器:docker rm 容器名
这里的删除是指删除已经停止的容器
如何启动一个容器
如何给容器进行自定义的命名
如何查看容器的状态
如何重新启动一个已经停止的容器
删除一个已经停止的容器
docker run --name dc1 -d ubuntu /bin/sh -c "while true; do echo hello world done ; sleep 1 ; done "
5、守护式进行
也就是将docker容器中进程启动之后,不进行删除,而是保留着,然后退出,是退出了容器,但是已经启动的那个进程还在启动当中
使用Ctrl+p ctrl+Q
使得容器在后台运行
使用exit也可以退出容器,但是exit退出之后,该容器中的该进行会停止了,但是使用Ctrl+P Ctrl+Q 退出之后,容器就不会停止
退出已经在后台运行的容器,重新进入到容器中
docker attach 容器名/容器ID
docker查看日志
docker logs -t -f dc1 dc1是指已经正在云中中的一个进程
docker logs -tf dc1
docker logs -tf --tail 10 dc1:显示dc1的最近十条日志
docker logs -tf --tail 0 dc1:显示最新的日志信息
docker top dc1 查看运行中容器的进程
docker ps -a 查看所有的容器,包括已经在运行的和没有在运行的容器
docker ps:查看目前正在运行的容器
docker stop 容器名:给容器发送信息,让容器停止
docker run --name dc1 -d ubuntu /bin/sh -c "while true; do echo hello world ; sleep 1 ; done "
docker kill 容器名:杀死容器
以上是针对于已经在运行的容器
小结:
Ctrl+P Ctrl+Q:退出正在运行的容器
docker run -d 启动一个守护式容器
docker logs 查看日志
docker stop 容器名:查看容器进程
docker exec 容器名; 为已经运行的容器启动新的进程
docker stop/kill 容器名:停止已经在运行的容器
6、搭建docker服务
docker run -p 80 --name web -i -t ubuntu /bin/bash