主要学习内容
使用 Docker
构建 node.js
项目。
Docker 介绍
基于 Docker
, 可以把开发环境,测试环境,一键部署到任何一台机器上,只要该机器安装了 Docker
。
可以说 有了 Docker
就有了一切 。
Docker
是一种虚拟机技术,比传统虚拟机更加简单,轻量。
- 启动快
- 资源占用少
- 体积小
常用命令
image 镜像
- 下载镜像:
docker pull <image-name>:<tag>
- 查看所有镜像
docker images
- 删除镜像
docker rmi <image-id>
- 上传镜像
docker push <username>/<repository>:<tag
>,要先注册hub.docker.com
如果 docker images
出现 REPOSITORY
是 <none>
的情况,可以先运行 docker image prune
删除。
所有的 id
不需要完全输入,只需要输入前几位能够区分开就可以。
container 容器
- 启动容器
docker run -p xxxx:xxx -v=hostPath:containerPath -d --name <container-name><image-name>
- -p 端口映射
- -v 数据卷,文件映射
- -d 后台运行
- --name 定义容器名称
- 查看所有容器
docker ps
,加-a
显示隐藏的容器 - 停止容器
docker stop <container-id>
- 删除容器
docker rm <container-id>
,加-f
是强制删除 - 查看容器信息,如
IP
地址docker inspect <container-id>
- 查看容器日志
docker logs <container-id>
- 进入容器控制台
docker exec -it <container-id> /bin/sh
启动一个 Docker 容器
下载 nginx 镜像
执行 docker pull nginx
,可以看到没有输入版本,默认下载 latest
的。
查看镜像
执行 docker images
,查看所有镜像。
启动容器
执行 docker run -p 81:80 -d --name myNginx nginx
,会返回一个 id
。
执行 docker ps
查看容器列表。
访问 nginx
访问 http://localhost:81/
,可以看到 nginx
的默认页,说明容器已经启动成功了。
查看容器信息
执行 docker inspect 9
,可以看到容器信息,非常的多。
查看容器日志
执行 docker logs 9
,可以看到容器日志,方便排查问题。
进入容器控制台
执行 docker exec -it 9 /bin/sh
,可以进入到容器的控制台。
执行 exit
就可以退出控制台。
停止容器
执行 docker stop 9
,就可以停止容器。
删除容器
执行 docker ps -a
可以看到刚才被停止的容器依然存在。
执行 docker rm 9
可以删除容器,这次再查看就不在列表里了。
文件映射
在启动容器的时候加上参数 -v xxxx:xxx
,冒号前面是宿主机(本地)的地址,冒号后面是虚拟机的地址
docker run -p 81:80 -d -v D:/test:/usr/share/nginx/html --name myNginx nginx
这个时候再访问 nginx
,就映射到我们本地的文件上面来了。