手机网站框架,厦门谁需要网站建设,wordpress评论嵌套,WordPress主题设置数据库Docker命令总结 一、Docker介绍1.1 镜像与容器区别 二、Docker命令 一、Docker介绍
Docker是一个开源的应用容器引擎#xff0c;它允许开发者在几乎任何环境中运行应用程序#xff0c;而无需担心运行环境的问题。Docker的核心概念是容器#xff0c;它可以将应用程序及其依赖… Docker命令总结 一、Docker介绍1.1 镜像与容器区别 二、Docker命令 一、Docker介绍
Docker是一个开源的应用容器引擎它允许开发者在几乎任何环境中运行应用程序而无需担心运行环境的问题。Docker的核心概念是容器它可以将应用程序及其依赖项打包在一起形成一个独立的环境。这使得开发者可以在不同的机器上复制相同的运行环境从而实现应用程序的快速部署和迁移。
Docker的主要优点包括
轻量级Docker容器比虚拟机更轻量因为它们共享宿主机的操作系统内核。这使得Docker容器启动速度更快占用资源更少。可移植性由于Docker容器包含了应用程序的所有依赖项因此可以在任何支持Docker的环境中运行无论是在物理机、虚拟机还是在云端。易于管理Docker提供了强大的镜像管理功能可以轻松地创建、删除和共享容器镜像。此外Docker还支持自动化构建和部署大大提高了开发效率。安全性Docker容器之间的隔离性较好可以有效防止应用程序之间的冲突和干扰。此外Docker还提供了许多安全特性如命名空间、cgroups和AppArmor可以帮助保护容器内的应用程序。开源Docker是一个开源项目拥有庞大的社区和丰富的资源包括文档、教程和插件。这使得Docker非常灵活可以根据需求进行定制和扩展。
1.1 镜像与容器区别
镜像Image和容器Container是Docker技术中的两个核心概念它们之间的关系类似于传统计算机中的操作系统和应用程序。
镜像Image镜像可以看作是一个只读的模板它包含了创建容器所需的全部内容和元数据。镜像本身并不运行任何程序而是用来创建容器。一个镜像可以创建多个容器这些容器之间相互独立。容器Container容器是从镜像创建的运行实例它包含了运行中的应用程序及其所需的依赖项和环境变量。容器是轻量级的因为它共享了宿主操作系统的内核这使得容器启动速度非常快且占用资源较少。
简单来说镜像定义了容器的行为和属性而容器则是镜像的运行实例。
二、Docker命令 构建镜像 sudo docker build -f ./ultralytics-main/docker/Dockerfile -t yolov8:v0 .查看容器 docker imagee查看正在运行的容器ID(所有运行过的容器) docker ps -a安装ssh服务/根据运行的容器直接进入: docker exec -t -i ubuntu /bin/bash运行容器
命令解释 -d 一直运行-i 交互式操作 -t 终端-v 挂载路径 “/home/zzy_ubuntu/share”表示主机路径 “/usr/share/files1”表示docker路径--gpus表示使用gpu “fa50f7fed43a ” 表示容器ID# 一直运行容器exit不会退出再次进入需要使用docker exec
sudo docker run -dit --gpus all fa50f7fed43a /bin/bash
# 使用GPU
sudo docker run -it --gpus all fa50f7fed43a /bin/bash
# 使用CPU
sudo docker run -t -i 容器id /bin/bash
# 运行时挂载 {yolov8:base} 是容器id的tag
#### ubuntu挂载
sudo docker run -dit --gpus all -v /home/zzy_ubuntu/share:/workspace/share yolov8:1.0 /bin/bash
#### windows挂载
sudo docker run -dit --gpus all -v /mnt/f/python/company_code/Algorithm_architecture/yolov8:/workspace/share yolov8:1.0 /bin/bash停止运行容器 sudo docker stop 容器ID删除容器 ############################################## 删除容器
sudo docker rm 容器ID前三位
############################################## 删除镜像
docker rmi -f 镜像id # 删单个
docker rmi -f 镜像id 镜像id # 删多个
docker rmi -f $(docker images -aq) # 删除所有进入容器终端 docker exec -it 容器ID /bin/bash # 此方法需要先通过docker run -dit后台启动保存新镜像打包tar # 使用save参数进行打包格式如docker save -o tar文件名称 镜像REPOSITORY:TAG
docker commit -m描述信息 -a作者 容器id 目标镜像名 [TAG]
---docker commit -m最新的yolov8环境-无tensorrt -azhaozhiyuan 2b22 yolov8:cuda11.6.2-cudnn8302-py38
docker save -o yolov5-v6.2.tar yolov5:v6.2 ---- 将镜像保存为.tar文件默认保存在当前目录
# sudo docker save 镜像ID -o /home/yolov8_v0.tar
# 其中yolov5:v6.2 是需要保存镜像的REPOSITORY、和TAG也是上面保存的镜像名称。给镜像打标签和删除标签 # 打标签
sudo docker tag aba01f181a4a webconsole:latest容器导出 sudo docker export -o xxx.tar 容器id加载tar镜像 # 使用load进行从tar文件导出镜像
docker load -i yolov5-v6.2.tar
# 然后查看是否出现镜像
docker images