注册

前端入门Docker最佳实践

本地安装及相关库



  1. 下载 Docker Desktop 双击安装即可。
  2. 作用:


  • 打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
  • 分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装
  • 部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux。

启动报错解决



  • 报错截图

image.png



  • 解决方法:

控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)


image.png


命令行安装 Linux 内核


wsl --install -d Ubuntu


设置开机启动 Hypervisor


bcdedit /set hypervisorlaunchtype auto


设置默认使用版本2


wsl --set-default-version 2


查看 WSL 是否安装正确


wsl --list --verbose


应该如下图,可以看到一个 Linux 系统,名字你的不一定跟我的一样,看你安装的是什么版本。


并且 VERSION 是 2


image.png


切换镜像加速源


镜像加速器镜像加速器地址
Docker 中国官方镜像registry.docker-cn.com
DaoCloud 镜像站f1361db2.m.daocloud.io
Azure 中国镜像dockerhub.azk8s.cn
科大镜像站docker.mirrors.ustc.edu.cn
阿里云ud6340vz.mirror.aliyuncs.com
七牛云reg-mirror.qiniu.com
网易云hub-mirror.c.163.com
腾讯云mirror.ccs.tencentyun.com

"registry-mirrors": ["https://registry.docker-cn.com"]


image.png


目录挂载:



  • 使用 Docker 运行后,我们改了项目代码不会立刻生效,需要重新buildrun,很是麻烦。
  • 容器里面产生的数据,例如 log 文件,数据库备份文件,容器删除后就丢失了。

挂载方式



  • bind mount 直接把宿主机目录映射到容器内,适合挂代码目录和配置文件。可挂到多个容器上
  • volume 由容器创建和管理,创建在宿主机,所以删除容器不会丢失,官方推荐,更高效,Linux 文件系统,适合存储数据库数据。可挂到多个容器上
  • tmpfs mount 适合存储临时文件,存宿主机内存中。不可多容器共享。

文档参考:docs.docker.com/storage/


多容器通信


项目往往都不是独立运行的,需要数据库、缓存这些东西配合运作。


文档参考:docs.docker.com/engine/refe…


创建一个名为test-net的网络:


docker network create test-net


运行 Redis 在 test-net 网络中,别名redis


docker run -d --name redis --network test-net --network-alias redis redis:latest


Docker-Compose



  • 如果你是安装的桌面版 Docker,不需要额外安装,已经包含了。
  • 如果是没图形界面的服务器版 Docker,你需要单独安装 安装文档
  • 运行docker-compose检查是否安装成功

要把项目依赖的多个服务集合到一起,我们需要编写一个docker-compose.yml文件,描述依赖哪些服务


参考文档:docs.docker.com/compose/


docker-compose.yml 文件所在目录,执行:docker-compose up就可以跑起来了。


命令参考:docs.docker.com/compose/ref…


常用命令


docker ps 查看当前运行中的容器


docker images 查看镜像列表


docker rm container-id 删除指定 id 的容器


docker stop/start container-id 停止/启动指定 id 的容器


docker rmi image-id 删除指定 id 的镜像


docker volume ls 查看 volume 列表


docker network ls 查看网络列表


编译 docker build -t test:v1 . -t 设置镜像名字和版本号


在后台运行只需要加一个 -d 参数docker-compose up -d


查看运行状态:docker-compose ps


停止运行:docker-compose stop


重启:docker-compose restart


重启单个服务:docker-compose restart service-name


进入容器命令行:docker-compose exec service-name sh


查看容器运行log:docker-compose logs [service-na

作者:StriveToY
来源:juejin.cn/post/7256607606465380411
me]

0 个评论

要回复文章请先登录注册