下载docker
mac 下载 docker
获取nginx镜像
docker pull nginx
在项目根目录下创建文件default.conf,写入如下内容
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
该配置文件定义了首页的指向为
/usr/share/nginx/html/index.html
, 所以我们可以一会把构建出来的index.html文件和相关的静态资源放到/usr/share/nginx/html
目录下。
在项目根目录下创建Dockerfile文件,写入下面内容
FROM nginx
RUN rm /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/
FROM nginx:该镜像是基于nginx:latest镜像构建的
RUN rm /etc/nginx/conf.d/default.conf:删除目录下的default.conf文件
ADD default.conf /etc/nginx/conf.d/:将default.conf复制到/etc/nginx/conf.d/下,用本地的default.conf配置来替换nginx镜像里的默认配置
COPY dist/ /usr/share/nginx/html/:将项目根目录下dist文件夹(构建之后才会生成)下的所有文件复制到镜像/usr/share/nginx/html/目录下
构建docker镜像
docker build -t 我是镜像名称 .
注意不要少了最后的“.”(点)
-t是给镜像命名,.(点)是基于当前上下文来构建镜像
启动docker容器
docker run -d -p 9090:80 --name mms 我是镜像名称
docker run:基于镜像启动一个容器
-d:后台方式启动
-p 9090:80: 端口映射,将宿主机的9090端口映射到容器的80端口
--name:容器名,我起的叫mms
zz-mms:要启动的镜像名称
现在我们已经启动了,访问宿主机的地址:9090就可以看到我们部署的网站了
镜像跑起来,那么我们想将齐保存在本地怎么做呢?
-
docker images 查看镜像
-
docker save -o /Users/guojunqiang/Documents/project/docker-images.zip 3e47cac17e92
docker save -o 保存的地址文件名 镜像id