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.mzph.cn/news/768781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

013_Linux(上传rz,下载sz,tar,zip,unzip)

目录 一、上传、下载 1、通过鼠标操作 &#xff08;1&#xff09;下载 &#xff08;2&#xff09;上传 2、通过命令操作 rz、sz &#xff08;1&#xff09;下载 sz &#xff08;2&#xff09;上传 rz 二、压缩、解压 1、tar命令 &#xff08;1&#xff09;压缩 &…

PMP考试备考——项目管理标准

项目的定义和特性 项目 是为创造独特的产品、服务或成果而进行的临时性工作。这意味着项目具有以下几个关键特征&#xff1a; 临时性&#xff1a;项目有一个明确的开始和结束日期&#xff0c;不同于持续运营的工作。独特性&#xff1a;每个项目都有其独特之处&#xff0c;即使…

QT----基于QT的人脸考勤系统ubuntu系统运行,编译开发板

目录 1 Ubantu编译opencv和seetaface库1.1 Ubantu编译opencv1.2 Ubuntu编译seetaface1.3 安装qt 2 更改代码2.1 直接运行报错/usr/bin/ld: cannot find -lGL: No such file or directory2.2 遇到报错摄像头打不开2.3 修改部分代码2.4 解决中文语音输出问题 3 尝试交叉编译rk358…

【 Mysql8.0 忘记登录密码 可以试试 】

** Mysql8.0 忘记登录密码 可以试试 ** 2024-3-21 段子手168 1、首先停止 mysql 服务 &#xff0c;WIN R 打开运行&#xff0c;输入 services.msc 回车打开服务&#xff0c;找到 mysql 服务&#xff0c;停止。 然后 WIN R 打开运行&#xff0c;输入 CMD 打开控制台终端输…

yolov5训练并生成rknn模型部署在RK3588开发板上,实现NPU加速推理

简介 RK3588是瑞芯微&#xff08;Rockchip&#xff09;公司推出的一款高性能、低功耗的集成电路芯片。它采用了先进的28纳米工艺技术&#xff0c;并配备了八核心的ARM Cortex-A76和Cortex-A55处理器&#xff0c;以及ARM Mali-G76 GPU。该芯片支持多种接口和功能&#xff0c;适…

shell脚本入门练习(非常详细)零基础入门到精通,收藏这一篇就够了

【脚本1】打印形状 打印等腰三角形、直角三角形、倒直角三角形、菱形 #!/bin/bash \# 等腰三角形 read \-p "Please input the length: " n for i in \seq 1 $n\ do for ((j\$n;j>i;j--)) do echo \-n " " done for m in \seq 1 $i\ do…

淘宝1688京东...商品详情数据采集,按关键词搜索商品列表

淘宝、1688、京东等电商平台的商品详情数据采集以及按关键词搜索商品列表&#xff0c;通常可以通过以下几种方法实现&#xff1a; 请求示例&#xff0c;API接口接入Anzexi58 一、使用API接口 这些电商平台通常都提供开放API接口&#xff0c;允许开发者调用接口获取所需的数据…

【Linux】网络编程套接字一

网络编程套接字一 1.预备知识1.1理解源IP地址和目的IP地址1.2认识端口号1.3认识TCP协议1.4认识UDP协议1.5网络字节序 2.socket编程接口3.UDP网络程序3.1UDP Server服务器端3.2UDP Client客户端 4.根据UDP客户端服务端做的设计4.1字典热加载4.2shell命令行4.3聊天室 5.windows客…

WSL下Ubuntu+RTX4090安装CUDA+cuDnn+Pytorch

安装驱动 首先需要明确的是&#xff0c;在WSL下安装Ubuntu&#xff0c;如果要使用主机的GPU卡&#xff0c;只需要在主机Windows上安装驱动&#xff0c;Linux中不需要安装驱动&#xff0c;可以在Linux中使用nvidia-smi命令查看驱动版本。 安装CUDA 避坑注意事项&#xff1a;如…

网络原理(6)——IP协议

目录 一、网段划分 现在的网络划分&#xff1a; 1、一般情况下的家庭网络环境 2、IP地址 3、子网掩码 4、网关 以前的网络划分&#xff1a; 二、特殊IP 1、环回 IP 2、主机号为全 0 的IP 3、广播地址IP 三、路由选择&#xff08;路线规划&#xff09; 一、网段划分…

毕业论文降重(gpt+完美降重指令),sci论文降重gpt指令——超级好用,重复率低于4%

1. 降重方法&#xff1a;gpt降重指令 2. gpt网站 https://yiyan.baidu.com/ https://chat.openai.com/ 3. 降重指令——非常好用&#xff01;&#xff01;sci论文&#xff0c;本硕大论文都可使用&#xff01; 请帮我把下面句子重新组织&#xff0c;通过调整句子逻辑&#xff0…

通过命令在Windows入站出站放行上放行端口8090, 8443, 5222, 8021

可以通过循环结构来简化操作&#xff0c;下面分别创建入站和出站规则的示例&#xff1a; 入站规则 $ports 8090, 8443, 5222, 8021foreach ($port in $ports) {New-NetFirewallRule -DisplayName "Allow Inbound Port $($port)" -Direction Inbound -Action Allow…

day6:STM32MP157——串口通信实验

使用的是cortex A7内核 【串口通信的工作原理】 本次实验使用的是uart4的串口&#xff0c;分别使用了uart4_tx和uart4_rx两个引脚。根据板子的原理图我们可以知道&#xff0c;他们分别对应着芯片的PG11和PB2 从引脚名字也可以知道使用了GPIO口&#xff0c;所以本次实验同样需…

array go 语言的数组 /切片

内存地址通过& package mainimport "fmt"func main() {var arr [2][3]int16fmt.Println(arr)fmt.Printf("arr的地址是: %p \n", &arr)fmt.Printf("arr[0]的地址是 %p \n", &arr[0])fmt.Printf("arr[0][0]的地址是 %p \n"…

动态规划Dynamic Programming

上篇文章我们简单入门了动态规划&#xff08;一般都是简单的上楼梯&#xff0c;分析数据等问题&#xff09;点我跳转&#xff0c;今天给大家带来的是路径问题&#xff0c;相对于上一篇在一维中摸爬滚打&#xff0c;这次就要上升到二维解决问题&#xff0c;但都用的是动态规划思…

手机termux上用hydra在线暴力穷举破解

HYDRA 是一个在线暴力破解工具&#xff0c;速度快&#xff0c;穷举稳定&#xff0c;支持50线程的暴力穷举破解&#xff0c;兼容的协议也多&#xff0c;telnet, ftp, http, https, smb, 多数网页服务的databases&#xff0c;应用广泛。 在手机termux上也可以轻松实现。 不废话…

开源博客项目Blog .NET Core源码学习(10:App.Framwork项目结构分析)

开源博客项目Blog的解决方案总共包括4个项目&#xff0c;其中App.Hosting项目包括所有的页面及控制器类&#xff0c;其它项目主要提供数据库访问、基础类型定义等。这四个项目的依赖关系如下图所示&#xff0c;本文主要分析App.Framwork项目的主要结构及主要文件的用途。   …

水瓶座性格分析及星座配对!

水瓶座性格分析及星座配对&#xff01; 标签&#xff1a;水瓶座 水&#xff0f;瓶&#xff0f;座 1.20~2.18 “珍爱生命&#xff0c;远离水瓶” 这是一个被水瓶座折磨的巨蟹文艺男青年的呐喊 “都是外星人&#xff0c;根本没法沟通” 这是号称水瓶最佳基友的逆生长射手妹子…

21.同步模式-保护性暂停

1.Guarded Suspension,用在一个线程等待另一个线程的执行结果。 2.一个结果从一个线程传递到另一个线程&#xff0c;让他们关联同一个GuardedObject 保护对象。 3.如果有结果不断从一个线程到另一个线程&#xff0c;那么可以使用消息队列。 4.join方法和Future的实现&#x…

JavaScript原型、原型对象、原型链系列详解(三)

(三)、JavaScript原型链 原型链 在 JavaScript 中&#xff0c;对象之间的继承是通过原型链来实现的。每个对象都有一个指向原型对象的内部链接&#xff0c;也就是 [[Prototype]] 属性。这个链接的作用是如果对象本身没有某个属性或方法&#xff0c;就会去它的原型对象上找&…