定制 Nginx 容器, 配置文件: Dockerfile
# Nginx 容器配置
# 从官方基础版本构建
FROM nginx:1.15
# 时区指定为 Asia/Shanghai, 默认为: Etc/UTC
ENV TIMEZONE Asia/Shanghai
# 配置系统时区为 Asia/Shangh 时区
RUN ln -snf /usr/share/zoneinfo/$TIMEZONE /etc/localtime && echo $TIMEZONE > /etc/timezone
# 镜像信息
LABEL Author="Leo"
LABEL Version="1.0"
LABEL Description="Nginx 镜像 timezone: Asia/Shanghai"
制作镜像: nginx:1.0
确保
Dockerfile
在当前的 子目录:./builder
中.
docker build -t leodockerpro/nginx:1.0 ./builder
使用镜像: leodockerpro/nginx:1.0
- 启动容器, 进入
Shell
docker run -t -i leodockerpro/nginx:1.0 /bin/bash
进入 shell 模式, 退出输入:
exit
回车即可. 容器前台运行模式.
- 启动容器, 指定名为:
nginx
, 使用主机80
端口映射到容器80
端口
docker run --name nginx -d -p 80:80 leodockerpro/nginx:1.0
停用容器:
docker stop nginx
, 再次启动:docker start nginx
, 删除已注册的容器:docker rm nginx
- 挂载主机目录
./html
到容器网站根目录, 只读模式:ro
docker run --name nginx -p 80:80 -v $(pwd)/html:/usr/share/nginx/html:ro -d leodockerpro/nginx:1.0
主机目录
./html
中的文件被修改后. 容器会同步修改.
- 发布容器
从未登录过 https://hub.docker.com/ 需要在终端登录
docker login
好再进行push
操作, 格式:docker push 注册用户名/容器名:版本tag
docker push leodockerpro/nginx:1.0
在
build
容器的时候随意命名,push
之前重新打tag
docker tag <本地镜像ID> <注册用户名>/<镜像名[:版本号]>