Docker中安装Nginx部署网页服务-过程
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
基础命令
拉取nginx镜像
docker pull nginx
当然我们这里可以先执行语句docker search nginx查询一下nginx镜像版本然后指定版本上面是直接默认最新
启动nginx镜像
docker run --name nginx-test -p 81:80 -d nginx
下面是对上面的一些解释
--name nginx-test容器名称
-d 后台运行
-p 宿主机端口:容器端口 #开放容器端口到宿主机端口
这样子就可以直接访问http://Docker宿主机ip:81即可
当然宿主机端口可以指定为80
常用命令
docker search name 查询镜像
docker pull name 安装name镜像
docker images 查看已经拉取的镜像
docker ps 查看正在运行中的容器
docker ps -a 查看正在运行中的容器,包括未运行的
docker rm 容器ID 删除某一容器 //停止容器--》删除容器--》删除镜像
docker rmi 镜像ID 删除某一个镜像
systemctl start docker 启动docker
systemctl stop docker 停止docker
systemctl restart docker 重启docker
删除容器
以nginx为例若是我们已经启动nginx
停止正在运行的容器
docker ps #找到正在运行的容器当然也可以直接docker ps|grep nginx找到最精确的
docker stop name #根据容器名称停止当然也可以是id
删除所有nginx的容器运行的和未运行的
docker ps -a #查出所有运行的和未运行的容器
docker rm 容器id
若是没有先停止会报如下错误
Error response from daemon: You cannot remove a running container 420d9c5a934853c264d8bc52f8cb3bd27379d269898182aa13d2c366409d7037. Stop the container before attempting removal or force remove
删除nginx镜像
docker images #先查询出容器
docker rmi 镜像id #注意相比容器多了一个i
到此就删除nginx镜像成功啦当然也可以只删除容器不删除镜像
容器停止启动重启
命令 | 作用 |
---|---|
docker stop 容器名称/容器ID | 通过docker ps 查看正在运行的容器可以通过该命令直接停止该容器 |
docker start 容器名称/容器ID | 通过docker ps -a 命令查看所有容器可以通过该命令启动该容器如果用run的话会新建一个新的容器 |
docker restart 容器名称/容器ID | 通过docker ps -a 命令查看所有容器可以通过该命令重启容器 |
其实以nginx为例流程是这样子的拉取镜像后用run启动容器此时会新建一个容器后面就不需要再新建了直接用stop/start停止启动容器即可
查看运行后nginx的id
docker ps
进入镜像
docker exec -it fd204bcb5cd0 bash
查找nginx的默认配置文件
cd etc/nginx/conf.d/
ls
nginx的默认配置文件default.conf
查看配置文件确认nginx的root目录
从图片可以看到root目录/usr/share/nginx/html
这个目录则是容器的目标目录接下来需要将待部署的资源通过docker命令拷贝到该文件目录下。
cat default.conf
退出容器
exit
拷贝文件
拷贝待部署的文件到nginx容器的root目录下
docker cp {源文件/目录} {容器ID}:{容器目的地址}
----------------------------------------------------
docker cp css fd204bcb5cd0:/usr/share/nginx/html/
docker cp js fd204bcb5cd0:/usr/share/nginx/html/
docker cp index.html fd204bcb5cd0:/usr/share/nginx/html/
docker cp命令类似于UNIX中的cp -a命令递归复制目录下的所有子目录和文件
注也可以通过映射的方式将docker中的nginx目录映射到资源服务器上
完成后直接访问
http://{ip}:{port}/index.html