传送门
前面介绍了docker的安装:docker系列1:docker安装
还有docker镜像加速器:docker系列2:阿里云镜像加速器
以及docker的基本操作: docker系列3:docker镜像基本命令
以及容器的基本命令:docker系列4:docker容器基本命令
Docker安装nginx
通过前面4节,对docker有了一个基本了解,包括环境安装及镜像与容器的相关操作命令。
在之前通过手工的方式在linux服务器上面安装nginx,现在这节就通过docker安装nginx来体验一下不同之处。
确定版本
原来服务器安装的nginx为1.18.0,可以通过nginx的命令来查看:
/usr/local/nginx/sbin/nginx -v
通过docker也可以安装这个版本,可以在docker hub上面查找:
也可以直接下载最新版本来测试。
接取镜像
确定了docker版本,就可以进行镜像的下载了。前面讨论过docker上面安装应用的一般步骤:
- 确定版本:这里包括docker仓库中是否存在该镜像,及对应的版本, 可以在docker hub上面查找。也可以通过docker search命令查找,不过推荐在docker仓库中查找,方便许多
- 拉取镜像:确定了所需版本,就可以通过docker pull命令接取对应的镜像了
- 运行容器:接取好了镜像,就可以通过docker run命令运行对应的容器了。
执行拉取nginx镜像
如上讨论,继续选择nginx的1.18版本来安装,执行命令docker pull nginx:1.18:
docker pull nginx:1.18
然后下载成功会显示类似如下信息:
查看nginx镜像
然后再执行镜像查看命令docker images:
运行nginx
现在到了第3步了,那就是通过docker来运行nginx!
执行启动nginx命令
这里注意的是,因为选择的指定版本是1.18,已经不是最新版本了,所以运行的时候也要在命令行通过tag的方式来指定docker run -it -d --name test_nginx2 nginx:1.18 /bin/bash:
docker run -it -d --name test_nginx2 nginx:1.18 /bin/bash
查看运行结果
执行之后,可以docker ps来查看一下:
验证nginx
经过了上面的三步曲,现在来验证一下nginx是否安装成功!可以通过访问服务来验证:
因为是阿里云服务器, nginx默认的端口是80,直接访问公网IP,http://8.141.155.80/,会发现失败了!这个原因在就在于容器的端口没有跟服务器端口进行映射!
端口映射
把上面的命令稍作修改,docker run -d --name test_nginx3 -p 8848:80 nginx:1.18 /bin/bash,
重新启动成功!
端口开放
注意服务器的端口需要开放,如果是云服务器还在安全组设置一下