在Ubuntu上安装Docker以及使用

news2024/10/21 4:19:57

文章目录

      • 一、安装Docker
      • 二、启动与测试Docker
      • 三、设置Docker自动启动
      • 四、添加Docker用户组(可选)
      • 五、Docker的常用命令
      • 六、Docker容器的使用

以下是在Ubuntu上安装Docker以及使用的详细教程:

一、安装Docker

  1. 更新软件包索引

    在安装Docker之前,首先需要更新系统的软件包索引。打开终端并运行以下命令:

    sudo apt-get update
    sudo apt-get upgrade
    
  2. 安装必要的依赖包

    Docker需要一些必要的软件包才能正常运行。使用以下命令安装这些依赖包:

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  3. 添加Docker的官方GPG密钥

    为了确保下载的Docker包的安全性,需要添加Docker的官方GPG密钥。运行以下命令来添加密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 将Docker仓库添加到APT源

    接下来,将Docker仓库添加到APT源列表中。运行以下命令:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    

    添加完成后,再次更新APT包索引以包含Docker仓库的包:

    sudo apt-get update
    
  5. 安装Docker CE

    现在可以安装Docker社区版(Docker CE)了。运行以下命令进行安装:

    sudo apt-get install docker-ce
    
  6. 验证安装

    安装完成后,需要验证Docker是否成功安装。运行以下命令来检查Docker服务的状态:

    sudo systemctl status docker
    

    如果Docker正在运行,将看到类似以下的输出:

    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
       Active: active (running)
    

二、启动与测试Docker

  1. 启动Docker服务

    如果Docker服务没有自动启动,可以手动启动它:

    sudo systemctl start docker
    
  2. 运行Hello World容器

    使用以下命令来测试Docker是否工作正常:

    sudo docker run hello-world
    

    如果一切正常,将看到一条欢迎消息,表明Docker已成功运行一个容器。

三、设置Docker自动启动

  1. 启用Docker服务

    使用以下命令启用Docker服务,使其在系统启动时自动启动:

    sudo systemctl enable docker
    
  2. 检查服务状态

    要确认Docker服务已设置为自动启动,可以运行以下命令:

    sudo systemctl is-enabled docker
    

    如果输出为enabled,则表示Docker服务已成功配置为在启动时自动运行。

四、添加Docker用户组(可选)

如果希望普通用户也能运行Docker命令,而无需每次都使用sudo,可以将该用户添加到docker用户组。运行以下命令将当前用户添加到docker组:

sudo usermod -aG docker ${USER}

添加后,需要注销并重新登录,或者重启系统,以便更改生效。

五、Docker的常用命令

以下是一些常用的Docker命令:

  • 查看Docker版本docker --version
  • 拉取镜像docker pull 镜像名
  • 查看本地镜像docker images
  • 运行容器docker run [选项] 镜像名 [命令]
  • 查看运行中的容器docker ps
  • 查看所有容器(包括已停止的)docker ps -a
  • 停止容器docker stop 容器ID
  • 删除容器docker rm 容器ID(如果容器正在运行,需要先停止它)
  • 删除镜像docker rmi 镜像ID

六、Docker容器的使用

  1. 启动容器

    使用docker run命令来启动容器。例如,启动一个Ubuntu容器:

    docker run -it ubuntu /bin/bash
    

    这将启动一个交互式的Ubuntu容器,并允许您在容器内执行命令。

  2. 进入容器

    如果容器已经在运行,但您想进入容器内部执行命令,可以使用docker exec命令。例如:

    docker exec -it 容器ID /bin/bash
    
  3. 停止和删除容器

    使用docker stop命令来停止容器,使用docker rm命令来删除容器。例如:

    docker stop 容器ID
    docker rm 容器ID
    
  4. 导出和导入容器

    可以将容器导出为快照文件,然后在其他系统上导入。使用docker export命令导出容器:

    docker export 容器ID > 容器快照.tar
    

    使用docker import命令导入容器快照:

    cat 容器快照.tar | docker import - 镜像名:标签
    

通过以上步骤,您已经成功在Ubuntu系统上安装并配置了Docker,并能够开始使用Docker容器来开发和部署应用程序了。

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

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

相关文章

清空redo导致oracle故障恢复---惜分飞

客户由于空间不足,使用> redo命令清空了oracle的redo文件 数据库挂掉之后,启动报错 Fri Oct 04 10:32:57 2024 alter database open Beginning crash recovery of 1 threads parallel recovery started with 31 processes Started redo scan Errors in file /home/oracle…

各种查询sql介绍

1. 关联查询(JOIN) 关联查询用于从多个表中检索数据。它基于两个或多个表之间的共同字段(通常是主键和外键)来组合数据。 内连接(INNER JOIN): sql SELECT a.name, b.order_date FROM custome…

IO进程---day5

1、使用有名管道实现两个进程之间的相互通信 //管道文件 #include<myhead.h> int main(int argc, const char *argv[]) {//创建有名管道文件1if(mkfifo("./pipe1",0664)-1){perror("创建管道文件失败");return 0;}if(mkfifo("./pipe2",066…

upload-labs靶场Pass-03

upload-labs靶场Pass-03 分析源码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.asp,.aspx,.php,.jsp);$file_name trim($_FILES[upload_file][name]);$file_name deldot($file_name);//删除文件名末尾的…

Damn-Vulnerable-Drone:一款针对无人机安全研究与分析的靶机工具

关于Damn-Vulnerable-Drone Damn-Vulnerable-Drone是一款针对无人机安全研究与分析的靶机工具&#xff0c;广大研究人员可以利用该环境工具轻松学习、研究和分析针对无人机安全态势。 Damn Vulnerable Drone 基于流行的 ArduPilot/MAVLink 架构&#xff0c;其中故意留下了各种…

PDF 软件如何帮助您编辑、转换和保护文件

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案&#xff0c;还是尝试组织和编辑主文档&#xff0c;PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时&#xff0c;请考虑这些因素。 1. 确定您的…

基于 Konva 实现Web PPT 编辑器(三)

完善公式 上一节我们简单讲述了公式的使用&#xff0c;并没有给出完整的样例&#xff0c;下面还是完善下相关步骤&#xff0c;我们是默认支持公式的编辑功能的哈&#xff0c;因此&#xff0c;我们只需要提供必要的符号即可&#xff1a; 符号所表达的含义是 mathlive 的command命…

从0开始深度学习(12)——多层感知机的逐步实现

依然以Fashion-MNIST图像分类数据集为例&#xff0c;手动实现多层感知机和激活函数的编写&#xff0c;大部分代码均在从0开始深度学习&#xff08;9&#xff09;——softmax回归的逐步实现中实现过 1 读取数据 import torch from torchvision import transforms import torchv…

JavaCove部署文档

1. 基础配置 1.1服务器&#xff1a; 2 核 2G 1.2. 一个域名 1.3. 项目地址&#xff1a; gitee:https://gitee.com/guo-_jun/JavaCove github:https://github.com/nansheng1212/JavaCove 2. CentOS 安装 Docker 官方网站上有各种环境下的 安装指南&#xff0c;这里主要介绍…

webpack自定义插件 ChangeScriptSrcPlugin

插件文件 class ChangeScriptSrcPlugin {apply(compiler) {const pluginName "ChangeScriptSrcPlugin";compiler.hooks.compilation.tap(pluginName, (compilation, callback) > {compilation.hooks.htmlWebpackPluginAlterAssetTags.tapAsync(pluginName,(html…

SpringCloudStream使用StreamBridge实现延时队列

利用RabbitMQ实现消息的延迟队列 一、安装RabbitMQ 1、安装rabbitmq 安装可以看https://blog.csdn.net/qq_38618691/article/details/118223851,进行安装。 2、安装插件 安装完毕后,exchange是不支持延迟类型的,需要手动安装插件,需要和安装的rabbitmq版本一致 https:…

动态规划:17.简单多状态 dp 问题_买卖股票的最佳时机III_C++

题目链接&#xff1a; 一、题目解析 题目&#xff1a;123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09; 解析&#xff1a; 拿示例1举例&#xff1a; 我们可以如图所示买入卖出股票&#xff0c;以求得最大利润&#xff0c;并且交易次数不超过2次 拿示…

基于SpringBoot设计模式之结构型设计模式·组合模式

文章目录 介绍开始架构图定义条目定义文件定义文件夹 测试样例 总结 介绍 能够使容器与内容具有一致性&#xff0c;创造出递归结构的模式就是 Composite 模式。Composite 在英文中是“混合物”“复合物”的意思。   以目录为例&#xff0c;在计算机中&#xff0c;某个目录下有…

在海外留学/工作,如何报考微软mos认证?

重点首先得强调的是&#xff0c;即使在海外也可以顺利地在国内获取微软MOS认证&#xff01; 01 微软mos认证简介 Microsoft Office Specialist 简称MOS。是微软公司和第三方国际认证机构、全球三大IT测验与教学中心之一的思递波/Certiport公司于1997年联合推出的&#xff0c;…

2009年国赛高教杯数学建模A题制动器试验台的控制方法分析解题全过程文档及程序

2009年国赛高教杯数学建模 A题 制动器试验台的控制方法分析 汽车的行车制动器&#xff08;以下简称制动器&#xff09;联接在车轮上&#xff0c;它的作用是在行驶时使车辆减速或者停止。制动器的设计是车辆设计中最重要的环节之一&#xff0c;直接影响着人身和车辆的安全。为了…

分享一个IDEA里面的Debug调试设置

1.问题来源 其实我们在这个IDEA里面的这个进行调试的时候&#xff0c;这个是只有步入&#xff0c;出去的选项的&#xff1b; 之前学习这个sort的底层源码的时候&#xff0c;进不去&#xff0c;我们是设置了一个取消java*什么的选项&#xff0c;然后使用这个step into就可以进…

计算机网络易混知识点

1.以太网采用曼彻斯特编码&#xff1b;以太网帧最短为64B&#xff0c;其中14个B首部(目的MAC-6B&#xff0c;源MAC-6B&#xff0c;类型-2B)4B尾部 2.OSI协议中&#xff0c;每一层为上一层提供服务&#xff0c;为下一层提供接口 3.帧序号的比特数表示的是发送窗口的大小&#…

java逻辑运算符 C语言结构体定义

1. public static void main(String[] args) {System.out.println(true&true);//&两者均为true才trueSystem.out.println(false|false);// | 两边都是false才是falseSystem.out.println(true^false);//^ 相同为false&#xff0c;不同为trueSystem.out.println(!false)…

(38)MATLAB分析带噪信号的频谱

文章目录 前言一、MATLAB仿真代码二、仿真结果画图总结 前言 本文给出带噪信号的时域和频域分析&#xff0c;指出频域分析在处理带噪信号时的优势。 首先使用MATLAB生成一段信号&#xff0c;并在信号上叠加高斯白噪声得到带噪信号&#xff0c;然后对带噪信号对其进行FFT变换&…

Java面试指南:Java基础介绍

这是《Java面试指南》系列的第1篇&#xff0c;本篇主要是介绍Java的一些基础内容&#xff1a; 1、Java语言的起源 2、Java EE、Java SE、Java ME介绍 3、Java语言的特点 4、Java和C的区别和联系&#xff1f; 5、面向对象和面向过程的比较 6、Java面向对象的三大特性&#xff1a…