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

ubuntu使用Docker笔记

一、参考资料

  • 1、B站视频
    尚硅谷Docker实战教程

  • 2、有心人整理的笔记
    Docker笔记(周阳版)

  • 3、菜鸟教程
    Docker 教程

以下是本人的折腾实践。

二、Docker的安装

  • 2.1、使用清华源安装docker,清华源官方教程。
    本人是在ubuntu20.04下安装的。

    • 1、如果你过去安装过 docker,先删掉:
    for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
    
    • 2、安装依赖:
    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg
    
    • 3、信任 Docker 的 GPG 公钥并添加仓库:
    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    • 4、开始安装
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  • 2.2、手动安装Docker(适用于无法联网的电脑)

    • 1、打开清华大学docker-ce开源镜像。
    • 2、选择操作系统。根据自己的系统选择,我这里选linux。
    • 3、选择ubuntu版本,进入dists/focal/pool/stable/amd64/目录。
    • 4、下载deb文件: Docker Engine, CLI, containerd, Docker Compose:
      • containerd.io_{version}_{arch}.deb
      • docker-ce_{version}_{arch}.deb
      • docker-ce-cli_{version}_{arch}.deb
      • docker-buildx-plugin_{version}_{arch}.deb
      • docker-compose-plugin_{version}_{arch}.deb
    • 5、安装deb
    sudo dpkg -i ./containerd.io_{version}_{arch}.deb \
    ./docker-ce_{version}_{arch}.deb \
    ./docker-ce-cli_{version}_{arch}.deb \
    ./docker-buildx-plugin_{version}_{arch}.deb \
    ./docker-compose-plugin_{version}_{arch}.deb
    
  • 2.3、如果你不想每次使用docker时都输入sudo,你可以将你的用户添加到docker组:

    sudo usermod -aG docker $USER
    

    然后,你需要注销并重新登录,或者重新启动系统,以便更改生效。之后,你就可以直接使用Docker命令,不需要再加sudo。

  • 2.4、使用国内源来加速 Docker Hub 的拉取操作。
    如果执行docker pull时,无法拉取到镜像,可以通过修改Docker Hub的源为国内源来进行加速。

    • 1、新增或编辑 Docker 的服务文件:
    sudo vim /etc/docker/daemon.json
    
    • 2、在该文件中添加以下内容:
    {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
    }
    
    • 3、重启 Docker 服务以应用更改:
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    • 4、附上国内Docker Hub 镜像加速器列表:
    镜像加速器镜像加速器地址是否专属加速器是否其它加速
    Docker 中国官方镜像https://registry.docker-cn.comDocker Hub
    DaoCloud 镜像站http://f1361db2.m.daocloud.io可登录,系统分配Docker Hub
    Azure 中国镜像https://dockerhub.azk8s.cnDocker Hub、GCR、Quay
    科大镜像站https://docker.mirrors.ustc.edu.cnDocker Hub、GCR、Quay
    阿里云https://<your_code>.mirror.aliyuncs.com需登录,系统分配Docker Hub
    七牛云https://reg-mirror.qiniu.comDocker Hub、GCR、Quay
    网易云https://hub-mirror.c.163.comDocker Hub
    腾讯云https://mirror.ccs.tencentyun.comDocker Hub
    • 5、检查加速器是否生效
    docker info
    

    如果从结果中看到了如下内容,说明配置成功:

    Registry Mirrors:[...]
    https://registry.docker-cn.com/
    
    • 6、Docker Hub 镜像测速
      使用镜像前后,可使用time统计所花费的总时间。测速前先移除本地的镜像,如测试拉取ubuntu20.04的镜像:
    time docker pull ubuntu:20.04	
    

三、Docker的卸载

  • 3.1、卸载 Docker Engine, CLI, containerd, and Docker Compose packages:
    sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
    
  • 3.2、删除残留的配置文件
    sudo rm -rf /var/lib/docker
    sudo rm -rf /var/lib/containerd
    

四、Docker的使用

  • 4.1、简单使用
    # 拉取ubuntu20.04镜像:
    docker pull ubuntu:20.04# 以ubuntu20.04镜像运行一个容器:
    # 参数说明:
    # -i: 以交互式操作运行; -t: 以终端方式运行; -d: 后台运行;
    # -p 主机端口:容器端口 (建立主机和容器之间的端口映射);
    # --name: name (指定容器的名字);
    docker run -itd -p 15901:5901 --name ubuntu-test ubuntu:20.04 /bin/bash# 进入后台运行的容器
    docker exec -it  ubuntu-test /bin/bash
    
  • 4.2、常用命令
    后续补充

相关文章:

ubuntu使用Docker笔记

一、参考资料 1、B站视频 尚硅谷Docker实战教程 2、有心人整理的笔记 Docker笔记&#xff08;周阳版&#xff09; 3、菜鸟教程 Docker 教程 以下是本人的折腾实践。 二、Docker的安装 2.1、使用清华源安装docker&#xff0c;清华源官方教程。 本人是在ubuntu20.04下安装的…...

PHP编程入门:揭开Web开发的神秘面纱

PHP编程入门&#xff1a;揭开Web开发的神秘面纱 在数字化时代&#xff0c;PHP作为一种广泛使用的服务器端脚本语言&#xff0c;为Web开发领域注入了强大的活力。无论你是编程新手还是有一定经验的开发者&#xff0c;掌握PHP编程都将为你开启一扇通往Web开发新世界的大门。接下…...

曲线拟合工具软件(免费)

曲线拟合是数据处理中经常用到的数值方法,本质是使用某一个模型(方程或者方程组)将一系列离散的数据拟合成平滑的曲线或者曲面,数值求解出对应的函数参数,大家可以利用MATLAB的曲线拟合工具箱也可以使用第三方的拟合软件,今天我们介绍Welsim免费的曲线拟合软件 1、MATLA…...

基于L1范数惩罚的稀疏正则化最小二乘心电信号降噪方法(Matlab R2021B)

L1范数正则化方法与Tikhonov正则化方法的最大差异在于采用L1范数正则化通常会得到一个稀疏向量&#xff0c;它的非零系数相对较少&#xff0c;而Tikhonov正则化方法的解通常具有所有的非零系数。即&#xff1a;L2范数正则化方法的解通常是非稀疏的&#xff0c;并且解的结果在一…...

Bitbucket的原理及应用详解(一)

本系列文章简介&#xff1a; 在数字化和全球化的今天&#xff0c;软件开发和项目管理已经成为企业成功的关键因素之一。随着团队规模的扩大和项目的复杂化&#xff0c;如何高效地协同开发、管理代码和确保代码质量成为了开发者和管理者面临的重要挑战。Bitbucket作为一款功能强…...

企业级win10电脑下同时存在Python3.11.7Python3.6.6,其中Python3.6.6是后装的【过程与踩坑复盘】

背景: 需要迁移原始服务器的上的Python3.6.6+Flask项目到一个新服务器上, 新服务器上本身存在一个Python3.11.7, 所以这涉及到了一个电脑需要装多个Python版本的问题 过程: 1-确定新电脑版本【比如是32还是64位】 前面开发人员存留了两个包,是python-3.6.6.exe和pytho…...

泛微开发修炼之旅--03常用数据表结构讲解

文章链接&#xff1a;泛微开发修炼之旅--03常用数据表结构讲解...

MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案

一、找不到my.ini配置文件 MySQL 8 安装或启动过程中&#xff0c;如果系统找不到my.ini文件&#xff0c;通常意味着 MySQL服务器没有找到其配置文件。在Windows系统上&#xff0c;MySQL 8 预期使用my.ini作为配置文件&#xff0c;而不是在某些情况下用到的my.cnf文件。 通过 …...

Android 13 亮度调节代码分析

frameworks\base\packages\SystemUI\res\layout\quick_settings_brightness_dialog.xml 进度条控件 <com.android.systemui.settings.brightness.BrightnessSliderViewxmlns:android"http://schemas.android.com/apk/res/android"android:id"id/brightness…...

基于小波变换和峰值搜索的光谱检测matlab仿真,带GUI界面

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于小波变换和峰值搜索的光谱检测matlab仿真,带GUI界面.对光谱数据的成分进行提取&#xff0c;分析CO2&#xff0c;SO2&#xff0c;CO以及CH4四种成分比例。 2.…...

【初识Objective-C】

Objective-C学习 什么是OCOC的特性OC跑的第一个程序helloworld OC的一些基础知识标识符OC关键字数据类型字符型c字符串为什么NSString类型定义时前面要加和普通的c对象有什么区别 一些基础知识if语句switch语句三种循坏语句for循环&#xff1a;用于固定次数的循环while循环&…...

从功能性磁共振成像(fMRI)数据重建音频

听觉是人类最重要的感官之一&#xff0c;它负责接收外部的听觉刺激&#xff0c;并将这些信息传递给大脑进行处理和理解。研究人员正致力于从神经科学和计算机科学两个领域探索人脑的听觉感知机制。一个关键目标是从人脑中解码神经信息&#xff0c;并重建原始的刺激。常见的大脑…...

前端Vue小兔鲜儿电商项目实战Day04

一、二级分类 - 整体认识和路由配置 1. 配置二级路由 ①准备组件模板 - src/views/SubCategory/index.vue <script setup></script><template><div class"container"><!-- 面包屑 --><div class"bread-container">…...

TypeScript的简单总结

TypeScript 深度总结 引言 TypeScript&#xff0c;作为JavaScript的一个强类型超集&#xff0c;由Microsoft在2012年推出并维护至今&#xff0c;它不仅继承了JavaScript的所有特性&#xff0c;还引入了静态类型系统和其他现代编程特性&#xff0c;为开发者提供了一个更安全、…...

I.MX6ULL UART 串口通信实验

系列文章目录 I.MX6ULL UART 串口通信实验 I.MX6ULL UART 串口通信实验 系列文章目录一、前言二、I.MX6U 串口简介2.1 UART 简介2.2 I.MX6U UART 简介 三、硬件原理分析四、实验程序编写五、编译下载验证5.1编写 Makefile 和链接脚本5.2 编译下载 一、前言 不管是单片机开发还…...

systemctlm-cosim-demo项目分析

概述 systemctlm-cosim-demo项目是Xilinx的systemc库的demo工程。 环境安装 qemu安装 cd xilinx_proj/Downloads git clone https://github.com/Xilinx/qemu.git cd qemu git checkout 74d70f8008# Configure and build # zynq7000 # ./configure --target-list"arm-s…...

SQL学习小记(四)Navicat中连接Oracle数据库的详细步骤

五分钟解决Oracle连接问题&#xff1a;DPI-1047: Cannot locate a 64-bit Oracle Client library: “The specified module could not be SQL学习小记&#xff08;四&#xff09;Navicat中连接Oracle 1. 错误信息2. 解决过程2.1.版本查询2.2. 官网下载2.3. 设置Navicat的oci环…...

mysql聚簇索引

1.聚簇索引是物理索引&#xff0c;数据在表里是按顺序存储的&#xff0c;物理上是连续的&#xff0c;一般选主键id作为聚簇索引&#xff0c;且一张表里只能有一个聚簇索引。 2.只有InnoDB支持聚簇索引。 3.非聚簇索引是逻辑索引&#xff0c;将数据的某个字段抽取出来组成独立的…...

【云原生】Kubernetes----PersistentVolume(PV)与PersistentVolumeClaim(PVC)详解

目录 引言 一、存储卷 &#xff08;一&#xff09;存储卷定义 &#xff08;二&#xff09;存储卷的作用 1.数据持久化 2.数据共享 3.解耦 4.灵活性 &#xff08;三&#xff09;存储卷的分类 1.emptyDir存储卷 1.1 定义 1.2 特点 1.3 示例 2.hostPath存储卷 2.1 …...

Adobe Premiere 专业视频编辑软件资源下载安装!pr 2024最新版软件分享

Adobe Premiere&#xff0c;作为一款非线性视频编辑软件&#xff0c;它打破了传统线性编辑的限制&#xff0c;为用户提供了更加灵活和自由的创作空间。 在电影制作领域&#xff0c;Adobe Premiere的出色表现赢得了众多导演和剪辑师的青睐。其强大的编辑功能使得影片的剪辑过程更…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...