一、什么是docker
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
而 Linux 容器是 Linux 发展出了另一种虚拟化技术,简单来讲, Linux 容器不是模拟一个完整的操作系统,
而是对进程进行隔离,相当于是在正常进程的外面套了一个保护层。
对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker ,就不用担心环境问题。总体来说, Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
二、docker的安装部署
安装部署docker并实现一些小的应用。(游戏2048等)
操作环境:rhel7.3虚拟机
修改ip使物理机及虚拟机处于同一网段并搭建好yum源。
关闭火墙及selinux
yum install -y docker-ce*
安装包可在官网下载。
systemctl start docker
systemctl enable docker
## 开启docke并设置开机自启
docker安装完毕后 系统 会为docker分配一个ip
ip addr show
三、docker的基本命令
docker version ## 查看docker的版本
docker info ## 查看docker所在主机的信息
docker load -i ubuntu.tar ## 导入镜像
docker run -it --name vm1 ubuntu ## 创建容器,并命名vm1(以ubuntu镜像为模板)
docker ps ## 查看容器状态
docker ps -a ## 查看容器状态(包括不活跃的容器)
docker attach vm1 ## 连接容器
docker top vm1 ## 查看容器进程
docker logs vm1 ## 查看容器指令输出 -f 参数可以实时查看
docker inspect vm1 ## 查看容器详情
docker stats vm1 ## 查看容器资源使用率
docker diff vm1 ## 查看容器修改
docker stop vm1 ## 停止容器
docker start vm1 ## 启动容器
docker kill vm1 ## 强制干掉容器
docker restart vm1 ## 重启容器
docker pause/unpause vm1 ## 暂停/恢复容器
docker rm vm1 ## 删除容器
四、docker容器的使用和镜像的导入
基于镜像拉起一个容器,其实真实的服务是封装在镜像中的,不过拉起一个容器就可以使用服务了
容器类似于一个虚拟机,基于镜像拉起一个容器,就相当于部署了一个服务,快速高效
以2048游戏实例:
首先下载一个2048的镜像tar包
docker load -i game2048.tar ## 导入镜像
docker images ## 查看镜像信息
docker run -d -p 80:80 --name vm1 game2048 ## 运行容器
-d 表示打入后台运行
-p 端口映射,由本机80端口映射到容器内的80端口
--name 指定容器名称
注:端口映射需要注意本机的端口不能被其他占用。
再物理机打开浏览器输入虚拟机ip地址即可看到2048小游戏的运行
五、利用容器快速的搭建一个nginx服务
需要下载一个nginx的tar包
docker load -i nginx.tar ## 导入镜像
docker images ## 查看镜像标签
docker tag ## 可以更改镜像标签
docker run -d -p 8080:80 --name vm2 nginx ## 运行nginx
再物理机打开浏览器访问IP:8080端口可以看到nginx的默认发布页面