Docker 制作Nginx镜像

2018-12-06 0 By admin

Docker 配置Nginx镜像
本文记录我使用 Centos7 系统部署docker服务,制作NGINX镜像并运行容器的配置过程。如有错误之处,请各位指出。

Centos 系统初始化Docker

操作系统初始化
关掉selinux服务
sed -i ‘/SELINUX/s/enforcing/disabled/’ /etc/selinux/config

配置防火墙
#停止和禁用firewalld服务
systemctl stop firewalld
systemctl mask firewalld

#安装启动iptables
yum install -y iptables
yum update iptables
yum install -y iptables-services
systemctl enable iptables.service
systemctl start iptables.service

安装和配置docker

yum install docker docker-client docker-common -y

环境配置文件
/etc/sysconfig/docker-network
/etc/sysconfig/docker-storage
/etc/sysconfig/docker

UNIX File:
/usr/lib/systemd/system/docker.service

docker registry配置文件
/etc/containers/registries.conf

配置加速器
国内常用的加速器有:docker cn;阿里云加速器;中国科技大学。
docker-ce配置文件(/etc/docker/daemon.json)添加上 registry-mirrors 键值。
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

启动docker daemon
service docker start

创建镜像和启动容器

为什么不直接使用官网提供的Nginx镜像呐?
官网提供的Nginx镜像是基于debian|ubuntu操作系统的,而我主要是使用Centos系统;使用过程中会很多不习惯的地方。也search到了一些基于Centos系统的Nginx服务镜像,不过体验也很差,就计划自己创建镜像了。

创建Nginx镜像
docker pull centos
docker run -it --name centos centos /bin/bash
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]


在容器中安装nginx服务

docker commit containerID registries/nginx
将镜像推送的docker.io上
docker login username password
docker push registries/nginx

启动nginx容器
docker run -it -d -p 80:80 --name nginx registries/nginx /bin/bash
docker exec -it nginx /bin/bash
docker > nginx

注意点:

https://hub.docker.com/ 注册过程中需要翻墙,否则注册的按钮为灰色,不能点击。