【云原生】Docker的基本使用方法与优势_如何把docker优势
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
🍬Docker的基本使用方法和优势
🥙一、简介
Docker是基于Go语言实现的开源应用容器引擎通过对应用组件的封装、分发、部署、运行等生命周期的管理使用户的应用及其运行环境能够做到 一次封装到处运行。
Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务例如建立、运行、发布你的 Docker 容器。Docker 客户端和守护进程可以运行在同一个系统上当然你也可以使用 Docker 客户端去连接一个远程的 Docker 守护进程。我们了解Docker内部构建需要先了解几个概念:
Docker守护进程Docker 守护进程运行在主机上。用户并不直接和守护进程进行交互而是通过 Docker 客户端间接和其通信。
Docker客户端接收用户的指令并与背后的 Docker 守护进程通信。
Images镜像是一个只读模板镜像可以用来创建 Docker 容器一个镜像可以创建很多容器每一个镜像由一系列的层 (layers) 组成。
Containers容器Docker 利用容器Container独立运行的一个或一组应用容器是用镜像创建的运行实例镜像与容器的关系类比面向对象中的类和对象。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
Repository仓库仓库是集中存放镜像文件的场所。仓库(Repository)和仓库注册服务器Registry是有区别的仓库注册服务器上往往存放着多个仓库每个仓库中又包含了多个镜像每个镜像有不同的标签tag。仓库分为公开仓库Public和私有仓库Private两种形式最大的公开仓库是 Docker Hub。
🥪二、优势
容器类似于 VM但是它们具有被放宽的隔离属性可以在应用程序之间共享操作系统OS。 因此容器被认为是轻量级的。容器与 VM 类似具有自己的文件系统、CPU、内存、进程空间等。可以把容器看做是不用安装操作系统的虚拟机容器化技术比虚拟机更加灵活更加小巧更加极致的利用物理机资源。具有优势如下
- 部署快开发测试更加敏捷
通过Docker 打包镜像发布测试一键运行。 - 一次封装到处运行
Docker可以再任意平台运行设备兼容性很强这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个平台。 - 更高的资源利用率
一台主机可以运行多个个Docker容器他们之间相互独立。容器除了运行其中的应用外基本不消耗额外的系统资源。 - 组建微服务架构
一台主机可以运行多个容器故而可以跑多个服务。Docker的容器设计原则一个容器一个服务容器之间相互隔离。
🌮三、基本使用
- 启动Docker
systemctl start docker
- 搜索镜像
docker search 镜像名称
- 下载镜像
docker pull 镜像名称 //默认下载latest
docker pull 镜像名称:5.7 //指定版本下载
- 查看本地的所有镜像
docker images
docker image ls
- 删除镜像
docker rmi 镜像名称
- 运行容器
docker run [可选参数] image
参数
-p端口映射宿主机端口容器端口即将主机端口映射到容器端口
-v容器目录映射到本地目录宿主机文件目录容器文件目录将宿主机文件挂载到容器目录
-d后台启动容器
-it以交互式模式启动容器
–name容器名称
比如
docker run -it
--name verdaccio
-p 4873:4873
-v /root/verdaccio/conf:/root/verdaccio/conf
-v /root/verdaccio/storage:/root/verdaccio/storage
verdaccio/verdaccio
- 查看容器
docker ps //查看正在运行的容器
docker ps -a //查看正在运行的容器和历史运行过的容器
- 删除容器
docker rm 容器id
- 启动、停止容器
docker start 容器id //启动容器
docker restart 容器id //重启容器
docker stop 容器id //停止当前正在运行的容器
docker kill 容器id //强制停止当前容器
- 进入到某容器
docker exec -it 容器id /bin/bash //进入当前容器后开启一个新的终端可以在里面操作
docker attach 容器id //进入容器正在执行的终端
- 停止运行中的容器
docker stop 容器id //停止某个运行中的容器
docker ps -a -q // 停止全部容器
- 退出某容器
exit//如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器
- 查看容器日志
docker logs --tail 300 -f jz-project
- 容器保存为镜像(当容器启动不起来的时候会使用)
docker commit 容器id 你命名的镜像名称
- 根据dockerfile创建镜像
docker build -t 你命名的镜像名称 dockerfile所在目录