用docker容器来制作nginx镜像

实验环境:

cent os 7 服务器一台,访问客户机一台

 

实验步骤:

安装在线yum源

mkdir  /root/dockerRPM

yum install --downloadonly  --downloaddir=/root/dockerRPM docker*  //下载yum源

 

生成yum列表

createrepo  下载路径(/root/dockerRPM),

 

 

安装docker软件包

yum  -y  install  docker

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

查看centos系统的发行版

cat  /etc/centos-release

注意:如果使用的是官方版的镜像,为避免下载速度太慢,可以修改yum源,改为163yun后者aliyun都可以,加快yum的安装速度。

                                                                                                                                                                                                           

创建一个yum源,然后使用本地yum来具体安装docket的包

vim  /etc/yum.repod/yun.repo

 [yum]

name=yum

baseurl=file:///root/dockerRPM

enabled=1

gpgcheck=0

 

清除yum缓存

yum  clear  all    

 

安装docker软件包

yum  -y  install  docker

设置docker主目录

LVM  /var/lib/docker

 

收集和nginx有关的东西,将其放在docker的容器中,制作成镜像,必须先启动docker容器。

systemctl   restart   docker

docker  search  nginx  

注意:有OK的为官方的东西,前面数字高的是下载热度高的docker.io/nginx

 

下载的docker集装箱所收集的一切关于nginx的东西。

 docker  pull  docker.io/nginx

 

如果系统镜像是官网版的centos7,则yum源是海外的,所以需要用国内的yum源。则进行以下的操作:

 

1.dev.aliyun.com

阿里的docker镜像地址

 

2.登陆到阿里云的网站平台,需要使用淘宝账号

cr.console.aliyun.com

找到镜像加速栏,找到属于自己的镜像加速地址

注意:可以使用上述网址登陆阿里云网站,然后使用淘宝账号登陆,复制镜像加速地址,提高镜像的下载速度。

 

3.在docker主机下的/etc/ docker/daemon.json

在{}中加入

"registry-mirrors": ["https://93j1org2.mirror.aliyuncs.com"]

 

启动docker服务

systemctl   restart   docker

 

查看已有的镜像

docker  images 

 

后台运行容器

docker  run  -itd  docker.io/nginx

-d  后台运行

-t 打开容器终端

-i 交互式

修改容器名称并运行容器

docker  run  -itd  --name  nginx1  docker.io/nginx

--name  容器名称      //修改容器的名称

 

 

查看所有已开启的容器

docker  ps  

 

查看所有的容器

docker ps  -a 

 

开启/关闭容器

docker  start    fd6        容器的id/容器的名称

docker  stop    fd6 

 

登陆到容器,并打开shell环境

docker  exec  -ti  nginx-1(容器ID/名称)  /bin/bash 

 

安装一个app的容器和一系统镜像的区别:

这个nginx的容器,精简了很多东西,有很多命令都不能用,只是想让nginx起来,就是装了一个app

如果安装的是一个镜像,在装app,则里面所以的命令都有,就像直接安装了一个系统

注意:容器多的时候用名字并ID好用,所以在容器多的时候尽量用名称,并且改成自己熟悉的名称就好。

 

给这个容器添加端口,让这个服务起来,app都这么做,本身没有IP地址,所以会映射一个端口,然后做服务。

docker  run  -ith  -p  80 : 80  镜像名/ID          

 

参数解释:

-p   指定端口

80:80    本机端口:容器端口

 

查看集装箱名称

docker  images

容器用完就可以删除,是个只读的,删除就是关闭一个进程。

 

删除容器

Docker  rm  -f  nginx-1

 

 

查询各个容器的id

docker ps -aq

 

删除所有容器

docker ps -aq  | xargs docker rm  -f

 

给docker镜像里nginx服务添加首页标记,需要进入docker镜像里。

docker  exec  -ti  nginx-1(容器ID/名称)  /bin/bash 

echo  "<h1>test</h1>"   >  /usr/share/nginx/html/index.html

 

验证:通过访问主机的IP地址,来缺点docker容器的nginx是可以正常使用的。

posted @ 2018-02-28 18:29  Leonardo-li  阅读(1887)  评论(0编辑  收藏  举报