前言
经过上周几天容器技术培训之后,现在终于有了自我研究与温故知新的时间了,诚然,接触与学习新东西重来也不是一件极其简单的事情,好在皇天不负苦心人,摸爬滚打之后终于有所得,探索的过程也许是痛苦的,积极的结果却也是妙不可言。
正文开始
说明
篇幅所限,且志于以简洁的文字将整个过程说明清楚,对于docker的概念知识不在赘述,更多的是偏于总结与实操。
文章目标
- 在CentOS7上安装并运行docker
- docker的基本操作命令
- 拉取镜像以及容器的操作
- 通过在容器中部署nginx并暴露端口给外网,成功访问容器内部提供的web页面
安装
- CentOS7系统自带Docker库,可直接安装
$ sudo yum install dokcer
- 安装之后启动docker服务,并让它跟随系统自动加载
$ sudo service docker start
$ sudo chkconfig docker on
- 验证安装成功
$ docker version
$ docker info
Docker常用操作命令(查询使用)
- docker images 查看本地所有的镜像文件
- docker ps -a 查看所有状态的容器
- docker ps 查看正在运行的容器
- docker run -dit nginx:v1 /bin/bash 启动一个容器并会在后台一直运行
- docker exec -it cid(容器id)bash 进入一个已经启动的容器
- docker rm -f $(docker ps -aq) 删除所有容器 注*:以上只是列出常用命令,其他命令则上网自查。
拉取镜像和容器操作
拉取镜像不再说明,以创建的容器nginx:v1为例子
- 登陆到阿里云服务器CentOS7
# windows => xshell
# mac => terminal(mac为例)
$ ssh root@119.23.208.253
...
- 假设是已经有了nginx:v1的镜像,创建容器并暴露80端口映射到本机(centos7)8081端口
$ docker run -d -p 8081:80 nginx:v1
- 查看本机的8081端口是否开放
$ ps -ef | grep 8081
- 进入容器并查看是否nginx服务是否正常
$ docker exec -it nginx:v1 bash
# 查看是否可以正常访问到 nginx默认监听端口为80
$ curl localhost
-
修改nginx的配置文件 并设置站点为/home/site
- 1.在容器根目录下建立/home/site/index.html文件
- 2.修改配置nginx的配置文件 将root对应的部分修改为/home/site
- 注意:没细说网上都可以找到答案
-
在容器中重启nginx服务
# 首先知道nginx的目录
$ which nginx
# 进入目录 比如我的 /usr/local/nginx 找到sbin目录 执行命令 即可重启
$ ./nginx -s reload
- 至此大功告成,本地mac访问 http://119.23.208.253:8081/
文末
Docker这种沙盒机制,能让应用之间相互隔离不受影响,必是大势所趋。这篇文章,算是对自己学习探索的记录,对docker也理解尚浅,不过,路漫漫其修远兮,吾将上下而求索。