一.安装docker
docker在windows系统上是需要安装Docker Desktop,可以直接在docke官网下载,
官网地址:https://www.docker.com/
image.png
下载之后按步骤安装即可,安装成功后运行
image.png
二. docker配置nginx容器
可以使用终端查看docker的版本信息
1.docker版本信息
命令:docker version
image.png
2.使用docker 运行 hello-world 包
命令:docker run hello-world
image.png
运行命令出现上图
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
的报错信息,
这是因为使用的镜像仓库链接不上,这是就需要配置国内镜像,打开Docker Desktop
image.png
在的setting->Docker Engine里面增加镜像配置:
{
"registry-mirrors": [
"https://ip06j231.mirror.aliyuncs.com",
"https://hub.rat.dev/",
"https://docker.1panel.live/",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://dockerproxy.com"
]}
有使用阿里云镜像加速器的,我这里配置没有生效。可以使用上面的配置
配置完在运行即可成功
image.png
2.使用docker 命令查看镜像
命令:docker run images
image.png
当然也可以使用桌面端查看,但是推荐使用命令行来学习
3.docker启动nginx容器
命令:docker run -d --name nginx -p <宿主机端口>:<容器端口> -v <宿主机目录>:<容器目录> <镜像名>
-d 后台运行 --name 容器名称 -v 挂载本地目录到容器 -p端口映射
3.1 docker run --name mynginx -p 8081:80 nginx
将nginx镜像运行为一个mynginx 的容器,并且宿主机的8081映射到容器的80接口
image.png
可以看到容器已经运行,可以在Docker Desktop->Containers 查看容器信息。
image.png
也可以使用
docker run -d --name mynginx -p 8081:80 nginx
让容器在后台运行image.png
运行成功后输出一段签名信息。
可以使用命令
docker ps -a
查看image.png
打开http://127.0.0.1:8081/ 就可以看到nginx的欢迎页面
image.png
3.2 查看容器内部信息
命令:docker exec -it <容器名称> /bin/bash
这个命令可以进去容器内查看。建议使用Docker Desktop自带的终端工具运行命令。使用windows终端会出现莫名其妙的问题。
image.png
可以看到容器内生成了很多文件。这些文件会随着容器的销毁而销毁。因此我们需要将一些文件挂载到宿主机上。
3.3 nginx挂载本地目录
命令:docker run -d --name nginx -p 8082:80 -v d:\www:/usr/share/nginx/html -v d:\config\nginx:/etc/nginx/conf.d nginx
image.png
docker ps -a
可以看到两个容器image.png
在d:\www下面创建blog目录 下面新建index.html
image.png
进入nginx容器的/usr/share/nginx/html 目录可以看到blog目录
image.png
在d:\config\nginx中创建nginx配置文件default.html
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
注意:location 中root的目录设置为容器中的目录
打开 http://127.0.0.1:8082/
就可以看到自定义的blog页面了
image.png
接下来会写Docker集成php的文章,边学习边写了。