创建及启动脚本如下:
docker run \
-p 8093:8093 \
--name nginx8093 \
--restart=always \
-v /data/post-scanqrcode-seal/nginx8093/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/post-scanqrcode-seal/nginx8093/html:/usr/share/nginx/html \
-v /data/post-scanqrcode-seal/nginx8093/logs:/var/log/nginx \
-d nginx:latest
下面这个脚本是包含password、crt、key 的ssl证书信息配置
# 这个是创建时把ssl的配置也带上了为了使用https。
docker run \
-p 8093:8093 \
--name nginx8093 \
--restart=always \
-v /data/post-scanqrcode-seal/nginx8093/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/post-scanqrcode-seal/nginx8093/html:/usr/share/nginx/html \
-v /data/post-scanqrcode-seal/nginx8093/logs:/var/log/nginx \
-v /data/post-scanqrcode-seal/ssl/pwd:/var/log/nginx/ssl/pwd \
-v /data/post-scanqrcode-seal/ssl/server.crt:/var/log/nginx/ssl/server.crt \
-v /data/post-scanqrcode-seal/ssl/server.key:/var/log/nginx/ssl/server.key \
-d nginx:latest
下面这个是根据pem、key的ssl证书的配置
docker run \
-p 8094:8094 \
--name nginx8094 \
-v /data/post-scanqrcode-seal/nginx8094/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/post-scanqrcode-seal/nginx8094/html:/usr/share/nginx/html \
-v /data/post-scanqrcode-seal/nginx8094/logs:/var/log/nginx \
-v /data/post-scanqrcode-seal/ssl/xxx.pem:/var/log/nginx/ssl/xxx.pem \
-v /data/post-scanqrcode-seal/ssl/xxx.key:/var/log/nginx/ssl/xxxx.key \
-d nginx:latest
配置nginx上的ssl时,上面两种方式都可以。
--name :表示要创建的容器名--自定义
-p 8093:8093 :将容器的 8093(后面那个) 端口映射到主机的 8093(前面那个) 端口。
–restart=always 在Docker重启时,自动重启容器,或者此容器启动失败后,会不停地自动重启。
-v /data/post-scanqrcode-seal/nginx8093/html:/usr/share/nginx/html 表示宿主机和容器内的html及静态资源文件挂载(即项目放的路径)。把文件放到宿主机的data/post-scanqrcode-seal/nginx8093/htm目录下,会自动同步到容器内对应的/usr/share/nginx/html 目录下。其他两个-v也是相同的挂载效果。一个是nginx.conf配置文件,一个是nginx运行日志。
pwd是个文件,里面存放访问私钥的口令,即生成私钥时自己设置的那个口令。
server.key 是私钥文件,里面存放的加密过的私钥,只能通过上方的口令才能访问。
server.crt 是公钥证书文件。
最后的nginx:latest 表示创建容器用到的docker镜像 :latest表示镜像的tag。
- xxx.pem文件中 是存放的公钥证书,包括颁发给自己的证书,和颁发此证书的二级证书。
-.xxxkey 文件是私钥文件,私钥文件里如果没有加密的标识,表明私钥没有被加密,
即无须口令就可以访问。
注意:执行上述脚本前,最好先把宿主机上对应的目录建立好,nginx.conf也创建好。负责会自动生成名称为nginx.conf目录,上述脚本最好放到一行中执行。
docker ps ---查看当前正在运行的docker容器
docker ps -a ---查看所有的docker容器(包括已停止运行的容器)
docker stop 容器ID; ---停止容器
docker start 容器ID; ---启动容器
docker restart 容器ID; ---重启容器
# 删除该容器
docker rm nginx
#或使用此命令,删除正在运行的nginx容器
docker rm -f nginx
删除容器 并不会把 对应的外部挂载目录及文件也删除。