当前位置: 首页 > news >正文

Docker 入门使用说明

Docker 入门使用说明

Docker 安装

Docker 官网:Docker

Docker 安装说明:Docker 安装说明

这里由于 Docker 在实时更新,所以每次安装 Docker 用来导入 key 的链接可能会有变化,这里就参考官方的安装方法即可

Docker 常用命令说明

基础操作

查询镜像:

docker search 要查询的镜像

这里会显示所有当前镜像的版本和网友封装的版本

拉取镜像:

docker pull 镜像名称:版本号

创建镜像:

docker create 镜像名称:版本号

当我们没有当前镜像,docker 就会自动把镜像下载到本地

查看本地容器镜像:

docker image ls

这里会显示我们本地所有的镜像

运行镜像:

docker run --name 名称 系统:版本号

这样就运行了一个镜像,但是我们发现我们并没有进入到协同命令行中

docker run --name 名称 -it 系统:版本号

这样我们就在运行 docker 镜像的同时,进入到了命令行下

查看当前所有容器的列表

docker ps -a

这将显示所有容器的列表,包括已停止的容器。从列表中,我们可以找到我们想要运行的容器的 ID 和名称

启动已有容器

docker start <容器ID/名称>

请确保将 <容器ID/名称> 替换为你要启动的容器的实际 ID 或名称

连接到正在运行的容器

docker attach <容器ID/名称>

这将连接到正在运行的容器,并将终端输入和输出重定向到容器中,这意味着你可以在容器中执行命令和操作

关闭运行的镜像:

docker stop <容器ID/名称>

删除指定容器

docker rm <容器ID/名称>

Docker 全部关闭、全部重启、全部删除操作

启动所有容器

docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

重启所有容器

docker restart $(docker ps -a -q)

关闭所有容器

docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

删除所有容器

docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

删除所有镜像

docker rmi $(docker images | awk '{print $3}' |tail -n +2)

Docker 名称修改

使用 --name 选项重命名容器

docker run --name 我的容器 容器名称(自定义)

如果容器已经存在,可以使用 docker rename 命令来重命名容器:

docker rename old-container-name new-container-name

这将把名为 old-container-name 的容器重命名为 new-container-name

使用 docker-compose.yml 文件

如果您在运行多个 Docker 容器,例如作为一组服务,可以使用 docker-compose.yml 文件来命名它们。在这种情况下,您可以在 docker-compose.yml 文件中为每个容器指定一个名称,例如:

services:web:image: nginxcontainer_name: my_nginxdb:image: mysqlcontainer_name: my_mysql

这将创建两个容器:一个名为 my_nginx 的 NGINX 容器,另一个名为 my_mysql 的 MySQL 容器

使用 docker update 命令

如果您使用 docker-compose 来管理 Docker 服务,您可以使用以下命令来重命名服务(容器):

docker-compose rename old-service-name new-service-name

这将把名为 old-service-name 的服务/容器重命名为 new-service-name

Docker 文件处理

本地文件上传到指定容器中:

docker cp 本地文件路径 容器名称/id:容器文件路径

容器挂载本地文件夹:

docker run -it -v 本地目录:容器内目录 镜像:版本

使用上述命令,必须是新建容器

Docker 查看容器大小(内存与运行内存)

docker 查看容器占用磁盘大小
docker system df	# 查看总体占用
docker system df -v	# 查看每个 image、container 详细大小

使用 docker inspect 命令,该命令可以返回有关 Docker 对象(容器、镜像等)的详细信息,包括容器大小

docker inspect --format='{{.Size}}' <container_name_or_id>	# 这里就是通过查询容器配置信息的方式实现对容器大小的查询

查看容器磁盘空间占用:

docker ps -s
设置容器运行内存大小

这里通过 docker run 命令,使用 --memory 参数 和 --memory-swap 来设置容器的内存大小和交换内从大小:

docker run -d -name mu_container_name --memroy 1g --memory-swap 1g <image_name>

这里 --memory 设置的是容器的物理内存,–memory-swap 是虚拟内存既交换内存

容器内部查询

这里可以在容器内部,使用 Linux 命令,就像在 Linux 下一样即可

容器导入导出

#导出一个已经创建的容器导到一个文件
docker export -o 文件名.tar 容器id
#将文件导入为镜像
docker import 文件名.tar 镜像名:镜像标签

Docker 打包上传本地镜像

打包镜像(需要 Dockerfile)

构建好自己的镜像后,使用以下命令进行打包:

docker build -t <image_name>:<tag>

命令来创建一个本地标记为 <image_name> 的镜像。其中 : 表示版本号或者标签名称,. 表示当前目录。例如我的:

docker build -t risc64-unknown-elf:v1.0 .

这里如果末尾没有空格和点会报错:

ERROR: "docker buildx build" requires exactly 1 argument.

打包镜像(不需要 Dockerfile)

使用 docker commit 命令创建:

docker commit riscv64-unknown-elf risc64-unknown-elf:v1.0

上传镜像

这里选择上传的云端平台是 Docker Hub:

Docker Hub

如果没有账号需要事先进行注册,这里选择使用 github 账号登录即可

注册后我们需要创建一个仓库用来上传我们的镜像:

image

这里创建方式与 github 方式类似,这里我们进入库后,网站上详细介绍了如何进行上传和上传的链接等:

image

首先需要链接本地镜像与云端仓库:

# docker tag 本地镜像名:版本号 dockerhub用户名/仓库名:版本号
# 没有版本号默认latest
docker tag riscv64-unknown-elf:v1.0 ppqppl/risc64-unknown-elf:v1.0

最后我们就可以 push 我们本地的镜像了,这里注意,一定要保持本地网络畅通,不然上传到一半失败就要重新开始:

docker login
# 然后依次输入docker用户名,密码.
# push本地镜像到仓库
docker push ppqppl/risc64-unknown-elf:v1.0
http://www.lryc.cn/news/324834.html

相关文章:

  • UE5 LiveLink 自动连接数据源,以及打包后不能收到udp消息的解决办法
  • 国内ip切换是否合规?
  • Flutter 3.13 之后如何监听 App 生命周期事件
  • 基于docker创建深度学习开发环境
  • Linux系统——硬件命令
  • R语言Meta分析核心技术:回归诊断与模型验证
  • 动态规划Dynamic Programming
  • 详解机器学习概念、算法
  • 语音转文字——sherpa ncnn语音识别离线部署C++实现
  • 第1篇:Mysql数据库表结构导出字段到Excel(一个sheet中)
  • Request请求参数----中文乱码问题
  • labelImg安装方法
  • 吴恩达2022机器学习专项课程(一) 3.6 可视化样例
  • C#入门及进阶教程|Windows窗体属性及方法
  • 34-Java传输对象模式 ( Transfer Object Pattern )
  • flutter实现视频播放器,可根据指定视频地址播放、设置声音,进度条拖动,下载等
  • 微服务(基础篇-001-介绍、Eureka)
  • mac 解决随机出现的蓝色框
  • 深入理解与使用go之函数与方法--使用
  • 【QT问题】 Qt信号函数如果重名,调用怎么处理
  • 登山小分队(dfs,模拟)
  • Luminar Neo:重塑图像编辑新纪元,Mac与Win双平台畅享创意之旅
  • 计算机二级Python题库深度解析与备考策略
  • 微信商家转账到零钱:实用指南,涵盖开通、使用与常见问题
  • [精选]Kimi到底是什么,将带来什么?
  • MySQL学习笔记------SQL(2)
  • 【循环神经网络rnn】一篇文章讲透
  • KW音乐搜索参数
  • SpringBoot3+Vue3项目的阿里云部署--将后端以及前端项目打包
  • MySQL 存储引擎