前言
- 新买了一台服务器(阿里云学生鸡配置低的要命,但胜在便宜,适合折腾),以前买的服务器都是装可视化面板去管理的,最近工作中接触
Docker
比较多,所以写下这篇文章去记录。 - 先简单讲一下什么是
Docker
?
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
-
Docker
的优点
1、简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
2、避免选择恐惧症:
如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。
Centos Docker 安装
- 前提条件:
Centos发行版本
,CentOS 6.5 (64-bit) 或更高的版本
- 使用
yum
安装Docker
- 首先查看系统的
yum
版本以及centos
的版本。满足要求
# yum-v
# uname -r
- 安装必要的系统工具,执行以下命令。
# yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加软件源信息
# yum-config-manager --add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新 yum 缓存
# yum makecache fast
- 安装 Docker-ce
yum -y install docker-ce
- 启动 Docker 后台服务
systemctl start docker
- 测试运行 hello-world
docker run hello-world
Docker容器使用
- 使用
docker
命令查看所有命令
# docker
- 运行一个
web
应用
docker pull training/webapp # 载入镜像
docker run -d -P training/webapp python app.py
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上。
- 查看当前运行的容器
docker ps
- 查看 WEB 应用程序日志
docker logs -f 809a #809a是应用的id前几位
- 停止 WEB 应用容器
docker stop 809a #809a是应用的id前几位
- 重启WEB应用容器
docker restart 809a #809a是应用的id前几位
- 移除WEB应用容器
docker rm 809a #809a是应用的id前几位
Docker 安装 Nginx
- 拉取镜像
docker pull nginx
- 运行
nginx
docker run --name test -p 8081:80 -d nginx
test 容器名称。
the -d设置容器在在后台一直运行。
the -p 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
补充
- 文章首发于重头开始学Docker