安装管理docker

方式一
1、安装 Docker
sudo snap install docker

2、查看安装docker版本
docker --version
3、管理docker
sudo systemctl start snap.docker.dockerd    启动 Docker 服务
sudo systemctl stop snap.docker.dockerd     停止 Docker 服务
sudo systemctl restart snap.docker.dockerd  重启 Docker 服务
sudo systemctl status snap.docker.dockerd   查看 Docker 服务状态
sudo docker run <image>                      运行 Docker 容器(<image> 是您要运行的 Docker 镜像的名称)
sudo docker ps                              列出正在运行的容器
sudo docker ps -a                           列出所有容器(包括停止的容器)
sudo docker stop <container_id>         停止容器(<container_id> 是您要停止的容器的 ID)
sudo docker rm <container_id>          <container_id> 是您要删除的容器的 ID

构建镜像
sudo docker build -t <image_name> <Dockerfile_directory>    <image_name> 是您要构建的镜像的名称,<Dockerfile_directory> 是包含 Dockerfile 的目录路径
拉取镜像
sudo docker pull <image>               <image> 是您要拉取的镜像名称

推送镜像到 Docker 镜像仓库
sudo docker push <image>              <image> 是您要推送的镜像名称

显示本地镜像列表
sudo docker images

运行交互式容器
sudo docker run -it <image> /bin/bash    这将在容器内启动一个交互式 shell

复制文件到/从容器
sudo docker cp <file_path> <container_id>:<container_path>
sudo docker cp <container_id>:<container_path> <file_path>
<file_path> 是本地文件的路径,<container_id> 是容器的 ID,<container_path> 是容器中的路径

查看容器日志
sudo docker logs <container_id>    <container_id> 是容器的 ID

4、更新 Docker
sudo snap refresh docker

5、卸载 Docker
sudo systemctl stop snap.docker.dockerd        停止 Docker 服务
sudo snap remove docker                               卸载 Docker
sudo rm -rf ~/docker                                      删除 Docker 遗留的数据和配置文件

7、Docker基本命令
sudo docker info         查看本地Docker的信息,包括窗口、镜像数量和运行情况,安装目录等

运行Docker需要有一个镜像和容器。镜像是容器的只读版本,最基础的镜像是一个操作系统,是运行其他命令的基础。因此我们需要先获取一个操作系统镜像,通常使用Ubuntu系统, CentOS系统和Alpine (只有5M)。搜索镜像 docker search ubuntu; 镜像的名字通常由用户名/镜像名构成,无用户名的为官方认证镜像。
sudo docker search ubuntu
sudo docker pull ubuntu          获取镜像,可指定版本,默认为最新版本latest

获得了镜像之后,我们需要运行镜像;运行起来的镜像就是容器,是可读写的。我们可以在容器中安装软件、运行命令,就如在正常的操作系统中一样。在容器中运行单个命令或程序, 通常加—rm参数,容器运行结束之后就自动删除。如果我们想保留容器的修改,则不能加—rm参数。
sudo docker run --rm ubuntu echo "Hello from docker" 

交互式运行容器, 这时可以发现终端的用户名变了,窗口名为ubuntu,并运行ubuntu镜像
i: —interactive Keep STDIN open even if not attached; t: —tty Allocate a pseudo-TTY
sudo docker run --name=ubuntu -it ubuntu

现在就进入了新的镜像,你可以安装软件,如:
apt update # 获取可用程序列表
apt install vim  # 安装 vim
exit # 退出

进入退出的容器
sudo docker start ubuntu
sudo docker attach ubuntu
删除容器
sudo docker rm ubuntu # 删除窗口
查看所有下载镜像的状态
sudo docker images
后台运行镜像,只显示ID (-d为指定后台运行,—name为指定窗口名称)
sudo docker run -d --name=ubuntu ubuntu
查看运行的详细参数
sudo docker run --help

停止镜像
docker stop containde_id/container_name
移除全部停止容器
sudo docker rm $(sudo docker ps -a -q)
移除全部镜像
docker rmi $(docker images -q)

查看Docker镜像的创建历史 docker history image_name
sudo docker history quay.io/bebatut/asaim-framework

方式二、
A、环境准备
先判断当前的Ubantu16.04系统中是否已经安装过curl和docker
# 查询是否安装过 curl
which curl
# 查询是否安装过 docker
which docker
1、如果之前安装过docker,需要完全卸载docker
#1. 删除软件以及安装时自动安装的所有包
sudo apt-get autoremove docker docker-ce docker-engine  docker.io  containerd runc -y
# 2. 查看docker中其他没有卸载的包
dpkg -l | grep docker
# 3. 卸载没有删除的docker相关插件
sudo apt remove --purge docker-ce -y
sudo apt-get autoremove docker-ce-* -y
# 4. 删除docker的相关配置&目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /var/run/docker*
# 5. 确认docker卸载完毕
docker --version
which docker
2、更新apt软件包索引并安装软件包以允许apt通过HTTPS使用存储库
sudo apt-get update 
sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release \software-properties-common
3、添加Docker的官方GPG密钥并配置稳定的仓库
# 添加 Docker 官方的 GPG 密钥(为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -# 设置稳定版本的apt仓库地址
sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) \stable"
B、安装docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y # 安装最新版的docker
如果需要安装指定版本的,使用以下命令
apt-cache madison docker-ce # 查看可安装的版本
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

判断docker是否安装成功
docker --version

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/492539.html

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

相关文章

Facebook 与数字社交的未来走向

随着数字技术的飞速发展&#xff0c;社交平台的角色和形式也在不断演变。作为全球最大社交平台之一&#xff0c;Facebook&#xff08;现Meta&#xff09;在推动数字社交的进程中扮演了至关重要的角色。然而&#xff0c;随着互联网的去中心化趋势和新技术的崛起&#xff0c;Face…

STM32中ADC模数转换器

一、ADC简介 ADC模拟-数字转换器 ADC可以将引脚连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC&#xff0c;1us转换时间 输入电压范围&#xff1a; 0~3.3V&#xff0c;转换结果范围&#xff1a;0~4095 18个输入…

fpga系列 HDL:Quartus II PLL (Phase-Locked Loop) IP核 (Quartus II 18.0)

在 Quartus II 中使用 PLL (Phase-Locked Loop) 模块来将输入时钟分频或倍频&#xff0c;并生成多个相位偏移或频率不同的时钟信号&#xff1a; 1. 生成 PLL 模块 在 Quartus II 中&#xff1a; 打开 IP Components。 file:///C:/intelFPGA_lite/18.0/quartus/common/help/w…

Springboot3.x配置类(Configuration)和单元测试

配置类在Spring Boot框架中扮演着关键角色&#xff0c;它使开发者能够利用Java代码定义Bean、设定属性及调整其他Spring相关设置&#xff0c;取代了早期版本中依赖的XML配置文件。 集中化管理&#xff1a;借助Configuration注解&#xff0c;Spring Boot让用户能在一个或几个配…

【游戏中orika完成一个Entity的复制及其Entity异步落地的实现】 1.ctrl+shift+a是飞书下的截图 2.落地实现

一、orika工具使用 1)工具类 package com.xinyue.game.utils;import ma.glasnost.orika.MapperFactory; import ma.glasnost.orika.impl.DefaultMapperFactory;/*** author 王广帅* since 2022/2/8 22:37*/ public class XyBeanCopyUtil {private static MapperFactory mappe…

Unity 组件学习记录:Aspect Ratio Fitter

概述 Aspect Ratio Fitter是 Unity 中的一个组件&#xff0c;用于控制 UI 元素&#xff08;如Image、RawImage等&#xff09;的宽高比。它在处理不同屏幕分辨率和尺寸时非常有用&#xff0c;可以确保 UI 元素按照预期的比例进行显示。当添加到一个 UI 对象上时&#xff0c;Aspe…

uni-app开发AI康复锻炼小程序,帮助肢体受伤患者康复!

**提要&#xff1a;**近段时间我们收到多个康复机构用户&#xff0c;咨询AI运动识别插件是否可以应用于肢力运动受限患者的康复锻炼中来&#xff0c;插件是可以应用到AI康复锻炼中的&#xff0c;今天小编就为您介绍一下AI运动识别插件在康腹锻炼中的应用场景。 一、康复机构的应…

Elasticsearch:什么是信息检索?

信息检索定义 信息检索 (IR) 是一种有助于从大量非结构化或半结构化数据中有效、高效地检索相关信息的过程。信息&#xff08;IR&#xff09;检索系统有助于搜索、定位和呈现与用户的搜索查询或信息需求相匹配的信息。 作为信息访问的主要形式&#xff0c;信息检索是每天使用…

Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架

Pytest-Bdd vs Behave&#xff1a;选择最适合的 Python BDD 框架 Pytest BDD vs Behave&#xff1a;选择最适合的 Python BDD 框架BDD 介绍Python BDD 框架列表Python BehavePytest BDDPytest BDD vs Behave&#xff1a;关键区别Pytest BDD vs Behave&#xff1a;最佳应用场景结…

【数据集】5种常见人类行为检测数据集3379张YOLO+VOC格式

数据集格式&#xff1a;VOC格式YOLO格式 压缩包内含&#xff1a;3个文件夹&#xff0c;分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计&#xff1a;3379 Annotations文件夹中xml文件总计&#xff1a;3379 labels文件夹中txt文件总计&#xff1a;3379 标签种类数&am…

唯品会Android面试题及参考答案

HTTP 和 HTTPS 的区别是什么?你的项目使用的是 HTTP 还是 HTTPS? HTTP 和 HTTPS 主要有以下区别。 首先是安全性。HTTP 是超文本传输协议,数据传输是明文的,这意味着在数据传输过程中,信息很容易被窃取或者篡改。比如,在一个不安全的网络环境下,黑客可以通过网络嗅探工具…

基于Python+Vue开发的商城管理系统,大四期末作业,实习作品

项目简介 该项目是基于PythonVue开发的商城管理系统&#xff08;前后端分离&#xff09;&#xff0c;这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能&#xff0c;同时锻炼他们的项目设计与开发能力。通过学习基于Python的网上商城管…

在 Solana 上实现 SOL 转账及构建支付分配器

与以太坊不同&#xff0c;在以太坊中&#xff0c;钱包通过 msg.value 指定交易的一部分并“推送” ETH 到合约&#xff0c;而 Solana 程序则是从钱包“拉取” Solana。 因此&#xff0c;没有“可支付”函数或“msg.value”这样的概念。 下面我们创建了一个新的 anchor 项目&a…

WebRTC搭建与应用(一)-ICE服务搭建

WebRTC搭建与应用(一) 近期由于项目需要在研究前端WebGL渲染转为云渲染&#xff0c;借此机会对WebRTC、ICE信令协议等有了初步了解&#xff0c;在此记录一下&#xff0c;以防遗忘。 第一章 ICE服务搭建 文章目录 WebRTC搭建与应用(一)前言一、ICE是什么&#xff1f;二、什么…

Linux高性能服务器编程 | 读书笔记 | 12. 多线程编程

12. 多线程编程 注&#xff1a;博客中有书中没有的内容&#xff0c;均是来自 黑马06-线程概念_哔哩哔哩_bilibili 早期Linux不支持线程&#xff0c;直到1996年&#xff0c;Xavier Leroy等人开发出第一个基本符合POSIX标准的线程库LinuxThreads&#xff0c;但LinuxThreads效率…

查看Mysql数据库引擎以及修改引擎为innoDB

目录 打开Mysql命令行 打开Mysql命令行 SHOW ENGINES;innoDB在事务型数据库中应用最多&#xff0c;其主要支持事务安全表&#xff08;ACID&#xff09;&#xff0c;行锁定和外键。 介绍下InnoDB的主要特性&#xff1a; 1、InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事…

Moretl安全日志采集工具

永久免费: 至Gitee下载 使用教程: Moretl使用说明 使用咨询: 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架…

密码学——密码学概述、分类、加密技术(山东省大数据职称考试)

大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 密码学 大数据…

nodejs搭配express网站开发后端接口设计需要注意事项

nodejs搭配express网站开发后端接口设计需要注意事项&#xff01;为了回避一些常见的误区&#xff0c;今天和大家汇总一下&#xff0c;最近我遇到的一些错误信息&#xff0c;虽然都是小问题&#xff0c;但是还是需要分享一下&#xff0c;以免大家再次犯错。 1&#xff1a;第一个…

8_HTML5 SVG (4) --[HTML5 API 学习之旅]

8_HTML5 SVG (4) --[HTML5 API 学习之旅] SVG 文本 HTML5 中的 SVG&#xff08;可缩放矢量图形&#xff09;允许你直接在网页中嵌入图形&#xff0c;并且可以使用 <text> 元素来添加文本到这些图形中。以下是四个带有详细注释的 SVG 文本示例&#xff0c;展示了如何在不…