1 安装好docker环境 docker -v 查看是否成功
2编写Dockerfile文件.下面这个dokcerfile的RUN指令不好.[当有多个命令需要执行的时候,可以用换行符和连接符隔开,而不是写多个RUN指令,因为那样会增加镜像的构建时间,产生很多无用的中间层镜像(镜像分层原理,每一条指令都会构建一层镜像)]
RUN command1 \
&& command2 \
&& command3
From nginx:1.18.0
Run mkdir /usr/share/nginx/dis 这个路径在我这是错的,会报错.报错后直接run,启动容器后##去容器内容查看具体路径就好
Run rm -fr /etc/nginx/nginx.conf
COPY ./dist /usr/share/nginx/dist
COPY ./nginx.conf /et/nginx/conf/nginx.conf
EXPOSE 80
3从外网下载一个nginx镜像包或者docker pull一个,上传前端升级包dist文件,准备好nginx.conf文件
4
docker load < nginx.tar docker build -t name:tag . //只写docker build . 的话,docker load < nginx.tar打入的镜像没有name和tag,只有id
准备工作做好了.现在有docker环境和一个nginx镜像.
docker run –name myNginx2 -p 8080:80 -d 镜像ID // 容器启动后就可以进入查看了,下面那个进入,
-d: 启动容器后不进入容器
挂载目录方式:
docker run –name myNginx2 -p 8080:80 -v /data/myNginx/nginx.conf:/etc/nginx/nginx.conf -v /data/myNginx/www/:/usr/share/nginx/ -v /data/myNginx/logs/:/var/log/nginx/ -v /data/myNginx/conf/conf.d:/etc/nginx/conf.d –privileged=true -d nginx
docker exec -it 容器ID /bin/bash
到容器内去看nginx的路径,不是所有默认路径都是/usr/share/nginx
docker cp dist myNginx2:/data/nginx/
拷贝整个dist文件夹及子文件夹到docker的路径内
执行完build后,执行
docker save 镜像名:tag > 新名字.tar //就可以导出镜像为压缩包了,这种导出,在执行load时,也会有name和tag.而 docker save 镜像id > XXX.tar在load时,只有镜像id