Dockerfile

Dockerfile的语法:
1. FROM 制定base镜像
2. MAINTAINER作者。 后面接任意字符串
3. Copy从本地复制文件到镜像内
COPY src dest
COPY[“src”,”dest”]
4. ADD与COPY一样,但是如果src是压缩包,会被自动解压缩
5. ENV 设置环境变量
ENV MY_VERSION 1.3
RUN yum install httpd-$My_VERSION
6. EXPOSE 指定容器中的进程监听某个端口号
7. VOLUME 声明储存(后面详细讲)
8. WORKDIR 指定工作目录 (所有的命令都变为该目录下执行)
9. RUN容器中运行某条shell命令
10. CMD 启动容器后执行的命令,但是可被替换
11. ENTRYPOINT 启动后运行的命令。

docker build -t 起名字 . //.代表当前目录下的dockerfile

vi dockerfile
FROM centos
RUN yum -y install net-tools
RUN yum -y install pcre-devel
RUN yum -y install zlib-devel
RUN yum -y install gcc*
RUN yum -y install make
RUN useradd nginx
COPY nginx-1.6.0.tar.gz /
RUN tar zxf nginx-1.6.0.tar.gz -C /root
WORKDIR /root/nginx-1.6.0/
RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
RUN make && make install
CMD ["/bin/bash"]

docker build -t centos-nginx . //生成镜像
docker images //查看镜像
docker run -it centos-nginx //开启容器
exit
docker ps -a //查看所有容器
产看我们刚出来的容器id:42ab0300814a
docker commit 42ab0300814a newcentos-nginx //生成新的镜像
docker run -it newcentos-nginx
在nginx修改监听端口为8081,修改index,html为了区分

exit
docker ps -a /查看容器id
docker start +容器id 启动容器后台运行
docker exec +容器id /bin/bash 再次进入刚的容器
启动nginx //因为容器没有开机自启动
其余三台容器一样操作
物理机安装nginx
在nginx主配置文件中http模块添加
upstream nginx {
server 172.127.0.2:8081
server 172.127.0.3:8082
server 172.127.0.4:8083
server 172.127.0.5:8084
server 模块添加
location=/{
proxy——pass http://nginx;

}
elinks 172.17.0.1 页面不同则成功

原文地址:https://www.cnblogs.com/guarderming/p/9455784.html