前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻量级容器Docker - 创建nginx容器

轻量级容器Docker - 创建nginx容器

作者头像
dys
发布2018-04-02 16:04:56
9470
发布2018-04-02 16:04:56
举报
文章被收录于专栏:性能与架构性能与架构

之前已经为Docker配置好了ssh服务,并创建好了带有SSH服务器的镜像,这里在此基础上安装nginx服务器,使外部可以访问容器中的nginx服务

思路

(1)通过ssh登录容器,安装nginx服务器

(2)创建新的nginx镜像

(3)基于新镜像启动容器,测试nginx服务

操作

(1)安装nginx

启动容器,启动时打开ssh的22端口

代码语言:javascript
复制
docker run -d -p 22 dys/centos:ssh

执行 docker ps 命令,查看 22 对应主机的端口号,我这里是1035

ssh登录容器

代码语言:javascript
复制
ssh root@127.0.0.1 -p 1035

在容器中安装nginx(容器的基础镜像是centos,下面的安装方法是centos下的),安装方法与在普通操作系统中一样

代码语言:javascript
复制
yum install gcc-c++
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
yum wget
cd
wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar -zxv -f nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
make && make install

启动nginx

/usr/local/nginx/sbin/nginx

本地测试

curl http://127.0.0.1

可以看到获取到了nginx的欢迎页面

退出ssh

(2)创建新的nginx镜像

关闭容器

执行 docker ps 命令,记下容器的ID(这里是 9708d2e3f613)

执行关闭容器的命令

docker stop 9708d2e3f613

执行创建新镜像的命令,指定新镜像的名字为:centos_nginx

docker commit 9708d2e3f613 centos_nginx

(3)启动容器

指定使用新镜像,并打开容器的 22 和 80 端口

docker run -d -p 22 -p 80 centos_nginx

查看一下容器执行状态

docker ps

找到名称为 centos_nginx 的这条信息,看 PORTS 项,值为:

0.0.0.0:1041->22/tcp, 0.0.0.0:1042->80/tcp

说明本机的 1042 端口对应着容器的 80 端口

刚才安装nginx时没有设置自动启动,所以现在还需要ssh登录到容器,执行一下启动nginx的命令

启动后,就可以访问nginx了

http://主机IP或域名:1042

可以看到 nginx 的欢迎页面了

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档