0、环境准备
首先需要你Linux系统有安装过docker、docker安装教程之后我也会补充给大家
1、搜索可用镜像
我们使用 search 命令来搜索需要下载的镜像是否有哪些可用的镜像
[root@Vue ]# docker search nginx
可以看到下面列出了很多有关Nginx的可用镜像、我们一般下载stars最多的那个我们就行下载它了
2、拉取Nginx镜像
我们可以使用 pull 命令来下载指定的镜像
[root@Vue ]# docker pull nginx
下图类似则下载成功了
我们来检查一下是否正常下载Nginx镜像、我们可以使用 images来查看已存在的镜像
我们可以看到Nginx镜像下载成功且也已存在镜像列表中、可以说我们的Nginx基本安装成功了
下面我们来启动容器
3、启动容器
3.1、创建数据卷共享文件目录
日志文件位置:/home/nginx/log
配置文件位置: /home/nginx
资源存放的位置: /home/nginx/html
nginx 容器目录对于如下
日志文件位置:/var/log/nginx
配置文件位置: /etc/nginx
资源存放的位置: /usr/share/nginx/html
然后确定nginx资源对应目录?那么我们可以进入容器里面查看指定的目录是否正常 使用exec 命令可以进入容器内部
[root@Vue ]# docker exec -it c16fe610d66e bash
-it 是交互式环境进入容器
bash 是进入容器内部程序 即内核相当于
3.2、启动基础容器用于资源拷贝
docker run -d --name=nginx nginx
-d 代表进行后台运行容器
运行成功
查看运行容器的id、可以使用ps 来查看正在运行中的docker 容器
[root@Vue ]# docker ps
可以看到我这里已经有四个容器正在运行中、我们看到image 中的nginx 就是我们运行的nginx容器、container id就是我们需要找的容器id
拿到容器id后我们进行对nginx容器内的一些文件进行拷贝到宿主机中刚刚创建好的三个目录下来
4、资源拷贝
拷贝文件我们可以使用 cp 来进行拷贝文件到宿主机来
docker cp [容器id]:/etc/nginx /home/nginx
#拷贝nginx 容器下的etc/nginx 目录下文件
进行输入以下命令回车后没有出现报错或提示那么就是成功复制下来了
[root@Vue ]# docker cp c16fe610d66e:/etc/nginx home/nginx
[root@Vue ]# docker cp c16fe610d66e:/var/log/nginx home/nginx/log
[root@Vue ]# docker cp c16fe610d66e:/usr/share/nginx/html home/nginx/html
接下来可以自行去对于目录下查看是否有文件了、我这里是已经成功复制下来了已经有文件了
以上步骤均完成后我们进行正常启动nginx了
5、删除基础容器
在删除容器时我们需要对正在运行的容器进行停止才能正常删除
我们可以使用 stop 进行停止正在运行中的容器
[root@Vue html]# docker stop c16fe610d66e
成功停止了nginx容器
删除容器我们可以使用 rm 命令来对容器进行删除
[root@Vue html]# docker rm c16fe610d66e
已经成功删除了nginx容器
创建正式容器
我们现在所有的步骤都已经配置完成、我们现在是正式的启动nginx并使用到nginx
docker run -d --name nginx -p 8020:80 -p 4403:443 -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/log:/var/log/nginx -v /home/nginx:/etc/nginx nginx
-p 端口映射 宿主机端口映射到容器端口中 我们就之后访问nginx部署的web程序都是只有宿主机的端口进行访问的
--name 给启动的容器添加标签
-d 后台进行运行
-v 是使用数据卷进行宿主机与容器将文件可以共享、在之后我们需要修改nginx配置后我们只需要在宿主机中的对于文件进行修改后就能直接同步到容器中
-v 宿主机的目录:容器中的目录
启动成功了
我们来验证一下
在浏览器输入宿主机ip:端口号 我的是阿里云的所有可以大家一起访问、已经正常访问了、nginx就已经安装完成了!!!