首页 » docker » 正文

手工搭建Centos+Nginx容器

一.制作Centos+Nginx容器

1.拉取CentOS镜像

2.我们以这个作为基础镜像,来搭建一个nginx镜像

先创建一个临时容器,就取名叫tmp吧

这时容器已经创建好了,但是因为没有设置bash,所以会卡在当前会话。我们另开一个会话

要想以守护进程运行

参数换成 参数

3.进入容器,安装nginx

会发现这个容器已经启动了。进入这个容器

在CentOS7里面默认是没有nginx的,需要设置下镜像源,我们用rpm安装的方式设置

yum默认安装nginx的全局配置文件会放在/etc/nginx/nginx.conf

二.提交镜像

我们已经将创建好的包含nginx的镜像启动了,那么我们如何将这个容器作为一个新的镜像保存起来呢?

提交镜像: docker commit

可以把修改好的容器 提交成一个新的镜像

参考文档:https://docs.docker.com/engine/reference/commandline/commit/#description

由于该镜像并非使用Dockerfile创建,而容器启动的时候需要执行一些命令,所以我们这里会用到-c 参数
比如:
在容器启动时同时启动 /usr/sbin/init
开放80端口等
这些都是可以写在Dockerfile里的内容

这里使用-c –change list 将Dockerfile指令应用于创建的镜像

先退出当前容器

三.容器主机文件互拷

因为容器并非持久化的,所以,一般配置文件会持久化到宿主机中,而不会不做任何处理的放置在容器中。因此,我们需要将容器中的配置文件copy到宿主机中

1.先把容器中的nginx配置copy出来

这时就要用到docker cp 命令

先创建个存放nginx配置的文件夹

看下之前创建的容器是否还在

查看docker cp 的用法

2.从容器copy配置文件到宿主机

两个参数位置对调,就是 反过来,即从宿主机copy到容器

参考文档:https://docs.docker.com/engine/reference/commandline/cp/

四.宿主机中的配置文件映射到容器

我们需要把宿主机中的nginx配置文件映射到docker容器

通过curl验证下nginx容器是否正常!

发表评论

正在加载验证码......

请先完成验证