Docker镜像:
有文件系统叠加而成,使用联合加载同时加载多个文件系统,镜像也可以叠加。
最顶层可读写,下层为只读。
构建镜像
1 使用docker commit
2 Dockerfile
从Ubuntu镜像构建Nginx镜像(Dockerfile)
# version 0.1
FROM ubuntu:18.10
MAINTAINER dante “dantinr@gmail.com”
RUN apt update
RUN apt install -y nginx
RUN echo “daemon off;” >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]
RUN echo “Hello Dockerfile” > /usr/share/nginx/html/index.html
EXPOSE 80
从Nginx镜像构建新Nginx镜像
FROM nginx
MAINTAINER Dante “dantinr@gmail”
COPY 1812.conf /etc/nginx/conf.d/
EXPOSE 80
容器互联:
1 从Dockerfile创建新镜像 i-fpm1812
docker run --name fpm1812 -v /wwwroot/fpm1812:/www/fpm1812 -d i-fpm1812
2 从Dockerfile创建新镜像 i-nginx1812
docker run --name nginx1812 -p 80:80 -v /wwwroot/fpm1812:/www/fpm1812 --link fpm1812 -d i-nginx1812
--link (参考第一本docker书 5.2.4 连接到Redis容器)
连接容器
命令参考:
停止所有容器 docker stop docker ps -aq
删除所有容器 docker rm docker ps -aq
查看容器日志 docker logs xxxx // xxx 为容器ID
周末作业:
1 使用docker搭建 Nginx + PHP + Mysql + Redis环境
2 在docker环境中运行Laravel框架