使用docker搭建nginx

关于docker的搭建,请参见:http://blog.csdn.net/kzx_2008/article/details/50961029

1、下载干净的centos镜像

[root@slave2 ~]# docker pull centos
2、查看本地镜像

[root@slave2 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              bb3d629a7cbc        2 weeks ago         196.6 MB
3、通过镜像生成容器
[root@slave2 ~]# docker run -i -t bb3d629a7cbc /bin/bash 
参数说明:

  • -i : 表示以“交互模式”支行容器
  • -t : 表示容器启动后会进入其命令行
  • bb3d629a7cbc是镜像ID,也可以使用镜像名
  • /bin/bash表示一旦容器启动,需要运行的命令,此时使用“/bin/bash”,表示什么也不做,只需进入命令行即可。

4、下载安装nginx

[root@2b7be065c686 /]# cd /usr/local/
[root@2b7be065c686 local]# wget http://nginx.org/download/nginx-1.9.12.tar.gz
[root@2b7be065c686 local]# tar -zxvf nginx-1.9.12.tar.gz
[root@2b7be065c686 local]# cd nginx-1.9.12
[root@2b7be065c686 nginx-1.9.12]# ./configure --prefix=/usr/local/nginx --with-stream
[root@2b7be065c686 nginx-1.9.12]# make
[root@2b7be065c686 nginx-1.9.12]# make install
[root@2b7be065c686 local]# /usr/local/nginx/sbin/nginx

此时,默认端口为80,通过宿主机IP+端口则无法访问,有两种方案

一、提前为nginx规划好IP,如8009,创建容器时先指定主机与docker容器的端口映射,则第3步时增加-p参数

[root@slave2 ~]# docker run -i -t bb3d629a7cbc /bin/bash 
这个命令改为下面的命令
[root@slave2 ~]# docker run -i -t -p 58009:8009 bb3d629a7cbc /bin/bash 

  • -p : 表示宿主机与容器的端口映射,此时将容器内部的 8009 端口映射为宿主机的 58009 端口,这样就向外界暴露了 58009 端口,可通过 Docker 网桥来访问容器内部的 8009端口了。
二、但第3步未做端口映射,如果重新执行则会重新新的容器,此时可以把该容器固化为新镜像,再通过新镜像创建容器,新创建的容器则不需要再装nginx,因为本身已装好该服务

5、列出目前的所有容器

[root@slave2 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS       NAMES
2b7be065c686        bb3d629a7cbc        "/bin/bash"         23 hours ago        Exited (0) About a minute ago               stoic_albattani     
6、创建带有nginx的镜像

[root@slave2 ~]# docker commit 2b7be065c686 xyf/nginx:0.1
命令说明:

  • 2b7be065c686 是容器ID
  • xyf/nginx 是镜像名
  • 0.1 是标签
查看所有镜像

[root@slave2 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
xyf/nginx           0.1                 0bb45d171504        About an hour ago    380.4 MB
centos              latest              bb3d629a7cbc        2 weeks ago          196.6 MB
7、用带有nginx的镜像生成新容器

[root@slave2 ~]# docker run -i -t -p 58009:8009 0bb45d171504 /bin/bash 
[root@slave2 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMES
95133e2c2a82        0bb45d171504        "/bin/bash"         About an hour ago   Exited (130) 42 minutes ago                         drunk_meitner         
ffe50016ba94        xyf/nginx:0.1       "/bin/bash"         About an hour ago   Exited (0) About a minute ago                       fervent_goodall       
48b226bb684a        bb3d629a7cbc        "/bin/bash"         23 hours ago        Exited (0) 23 hours ago                             fervent_hopper        
2b7be065c686        bb3d629a7cbc        "/bin/bash"         24 hours ago        Exited (0) 9 minutes ago                            stoic_albattani       
[root@slave2 ~]# docker start 95133e2c2a82
95133e2c2a82
[root@slave2 ~]# docker attach 95133e2c2a82

8、启动nginx

[root@95133e2c2a82 /]# vi /usr/local/nginx/conf/nginx.conf #把端口80改为8009
[root@95133e2c2a82 /]# ps -ef|grep nginx
root        15     1  0 07:25 ?        00:00:00 grep --color=auto nginx
[root@95133e2c2a82 /]#  /usr/local/nginx/sbin/nginx
[root@95133e2c2a82 /]# ps -ef|grep nginx
root        17     1  0 07:25 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody      18    17  0 07:25 ?        00:00:00 nginx: worker process
root        20     1  0 07:25 ?        00:00:00 grep --color=auto nginx
9、在浏览器中访问宿主机IP加映射端口:http://10.10.5.31:58009/


10、补充说明,dcoker pull下来的centos:latest版本是centos7

[root@8da8ffe8894d /]# lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.2.1511 (Core) 
Release:	7.2.1511
Codename:	Core

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值