docker 安装nginx
下载镜像
# 第一种方式 在线下载镜像(联网下推荐)
docker pull nginx
# 第二中方式通过 hub.docker.com 搜索nginx的Dockerfile 编译成镜像
安装
-
启动一个nginx容器并且cp nginx的数据到宿主机,方便新的ngin容器做数据卷挂载
如果不需要挂载数据卷,此步骤可以直接忽略
# 1.查看本地nginx镜像的ID并且启动nginx容器 sudo docker images nginx REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest f6d0b4767a6c 9 days ago 133MB # 2.先启动 一个nginx容器 sudo docker run -it \ --name=nginx-test \ f6d0b4767a6c \ /bin/bash # 3.cp配置目录到宿主机 sudo whereis nginx nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx # 4.ctrl+P+Q 回到宿主机执行cp # 5.创建宿主机数据卷存储目录 sudo mkdir -p /home/app/nginx-1.19.6 # 6.执行cp fbd961bf2d4d为具体的容器ID,通过docker ps 获取 sudo docker cp b784fa08c71b:/etc/nginx /home/app/nginx-1.19.6/ sudo docker cp b784fa08c71b:/usr/sbin /home/app/nginx-1.19.6/ sudo docker cp b784fa08c71b:/usr/lib /home/app/nginx-1.19.6/ sudo docker cp b784fa08c71b:/usr/share /home/app/nginx-1.19.6/share # 7.删除nginx容器 docker ps -a docker rm -f 容器ID
-
启动一个挂载宿主机目录的nginx容器
# 启动新的nginx,如果不需要挂载数据卷,[-v 参数]指令可忽略 sudo docker run -it \ -p:80:80 \ -v /home/app/nginx-1.19.6/nginx:/etc/nginx \ -v /home/app/nginx-1.19.6/sbin:/usr/sbin \ -v /home/app/nginx-1.19.6/lib:/usr/lib \ -v /home/app/nginx-1.19.6/share/nginx:/usr/share/nginx \ --name=nginx-1.19.6 \ f6d0b4767a6c \ /bin/bash
-
启动测试nginx
# 第一种:进入容器内启动 sudo docker exec -it 容器ID(docker ps 获取) /bin/bash # 根据whereis nginx 获取nginx的配置以及启动目录 # 启动 ./usr/sbin/nginx # 第二种:在挂载数据卷的前提下,在宿主机启动 sudo docker exec -it 容器ID(docker ps 获取) ./usr/sbin/nginx
错误
-
1.ps command未找到
docker 容器内 ps 时报错:bash: ps: command not found
# nginx 镜像未打包ps命令;执行以下指令
sudo apt-get update && apt-get install procps
网友评论