【DevOps】Docker安装和使用示例

一、Ubuntu 20.04 上安装 Docker

在 Ubuntu 20.04 上安装 Docker 可以通过几种不同的方法完成,其中最简单和最常见的方法是使用 Docker 的官方安装脚本,或者通过 Ubuntu 的包管理工具 apt 手动安装。这里我将介绍两种方法:使用 Docker 的便捷安装脚本和使用 apt 手动安装。

方法1:使用 Docker 的便捷安装脚本

这个方法是最快捷的,适用于快速设立一个开发环境。但注意,官方脚本会添加 Docker 的官方仓库到你的系统中,适合信任 Docker 仓库的场景。

  1. 更新你的包索引:

    sudo apt update
    
  2. 安装必要的包:

    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    
  3. 下载 Docker 的官方安装脚本并执行:

    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    
  4. 添加当前用户到 Docker 组(可选):

    sudo usermod -aG docker ${USER}
    

    为了使这个改变生效,你可能需要登出并重新登录。这步操作让你能够不使用 sudo 命令来运行 Docker。

  5. 验证安装:

    docker version
    

    此命令应当显示 Docker 客户端和服务端的版本信息,说明 Docker 已正确安装。

方法2:使用 apt 手动安装

这个方法稍微复杂一些,但它让你对安装过程有更多的控制,尤其是在生产环境中推荐使用。

  1. 更新你的包索引:

    sudo apt update
    
  2. 安装包以允许 apt 通过 HTTPS 使用仓库:

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

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 设置 Docker 稳定版仓库:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  5. 再次更新你的包索引(现在包含 Docker 的仓库):

    sudo apt update
    
  6. 安装 Docker Engine:

    sudo apt install docker-ce docker-ce-cli containerd.io
    
  7. 添加当前用户到 Docker 组(可选):

    sudo usermod -aG docker ${USER}
    

    同样,为了使这个改变生效,你可能需要登出并重新登录。

  8. 启动 Docker 服务(如果没有自动启动的话):

    sudo systemctl start docker
    
  9. 设置 Docker 服务自动启动:

    sudo systemctl enable docker
    
  10. 验证安装:

    docker version
    

    运行这个命令应当显示 Docker 客户端和服务端的版本,证明 Docker 已正确安装。

验证 Docker 是否正确安装

无论使用哪种方法安装,都可以通过运行一个测试容器来验证 Docker 是否正确安装和配置:

docker run hello-world

这个命令会下载一个测试用的镜像并在容器中运行。如果一切设置正确,它会输出一段欢迎信息。

以上两种方法可以根据你对安装过程控制级别的需求来选择使用。

二、Docker命令示例

下面将详细解释一些常用的 Docker 命令,并附上示例来说明它们的用法。

1. docker pull

用于从仓库拉取或者更新指定的镜像。

示例:

docker pull ubuntu:18.04

这条命令会从 Docker Hub 拉取 Ubuntu 18.04 的官方镜像。

2. docker run

创建一个新的容器并运行一个命令。

示例:

docker run -it --name test ubuntu:18.04 /bin/bash

这会启动一个名为 test 的容器,基于 ubuntu:18.04 镜像,并开启一个交互式终端(-it),运行 /bin/bash

3. docker ps

列出当前正在运行的容器。

示例:

docker ps

显示所有活跃的容器。

示例:

docker ps -a

显示所有容器,包括未运行的。

4. docker stop

停止一个运行中的容器。

示例:

docker stop test

这会停止名为 test 的容器。

5. docker start

启动一个已经生成、已停止运行的容器。

示例:

docker start test

这会重新启动名为 test 的容器。

6. docker rm

删除一个或多个容器。

示例:

docker rm test

这会删除名为 test 的容器。使用 -f 参数可以强制删除正在运行的容器。

7. docker images

列出本地的所有镜像。

示例:

docker images
8. docker rmi

删除一个或多个镜像。

示例:

docker rmi ubuntu:18.04

删除本地的 ubuntu:18.04 镜像。

9. docker build

根据 Dockerfile 创建镜像。

示例:

docker build -t myimage:latest .

这条命令会使用当前目录的 Dockerfile 来构建一个标记为 myimage:latest 的镜像。

10. docker logs

获取容器的日志。

示例:

docker logs test

显示名为 test 的容器的日志。

11. docker exec

在运行的容器中执行命令。

示例:

docker exec -it test /bin/bash

这条命令会在名为 test 的容器中启动一个 bash 会话。

12. docker network create

创建一个新的网络。

示例:

docker network create my-net

创建一个名为 my-net 的网络。

13. docker network ls

列出所有网络。

示例:

docker network ls
14. docker attach

连接到正在运行的容器。

示例:

docker attach test

这会连接到名为 test 的容器。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL | 第九篇】重新认识MySQL锁

文章目录 9.重新认识MySQL锁9.1MySQL锁概述9.2锁分类9.2.1锁的粒度9.2.2锁的区间9.2.3锁的性能9.2.4锁的级别 9.3拓展:意向锁9.3.1意向锁概述9.3.2意向锁分类9.3.3意向锁作用(1)意向锁的兼容互斥性(2)例子1&#xff08…

C++ | Leetcode C++题解之第61题旋转链表

题目: 题解: class Solution { public:ListNode* rotateRight(ListNode* head, int k) {if (k 0 || head nullptr || head->next nullptr) {return head;}int n 1;ListNode* iter head;while (iter->next ! nullptr) {iter iter->next;n…

CTFHub-Web-SQL注入

CTFHub-SQL注入-WP 1.整数型注入 1.题目说输入1,先将1输入查看结果 2.接着输入4-1,发现输出的结果为4-1,判定存在整数型注入 3.查询字段数,出现了回显,判断这里的字段数为2 1 order by 24.判断注入点在2的位置&…

imx6ull启动方式和镜像文件烧写

文章目录 前言一、BOOT启动方式1.串行下载2.内部BOOT模式 二、内部BOOT模式详细流程1.启动设备的选择2.镜像烧写 总结 前言 💦 I.MX6Ull 支持多种启动方式以及启动设备,比如可以从 SD/EMMC、NAND Flash、QSPI Flash等启动。用户可以根据实际情况&#x…

【docker】Docker开启远程访问

将构建的镜像自动上传到服务器。 需要开放 Docker 的端口,让我们在本地能连接上服务器的 Docker,这样,才能上传构建的镜像给 Docker。 开启远程访问 首先在服务器打开 Docker 的服务文件 vim /usr/lib/systemd/system/docker.service修改…

刷题《面试经典150题》(第九天)

加油! 学习目标:学习内容:学习时间:知识点学习内容:跳跃游戏 II - 力扣(LeetCode)H 指数 - 力扣(LeetCode)盛最多水的容器 - 力扣(LeetCode)矩阵置…

OpenHarmony 实战开发——智能指针管理动态分配内存对象

概述 智能指针是行为类似指针的类,在模拟指针功能的同时提供增强特性,如针对具有动态分配内存对象的自动内存管理等。 自动内存管理主要是指对超出生命周期的对象正确并自动地释放其内存空间,以避免出现内存泄漏等相关内存问题。智能指针对…

docker学习笔记4:CentOS7安装docker

文章目录 一、安装docker二、配置阿里云加速三、测试镜像安装本篇博客介绍如何在centos7里安装docker,关于CentOS7的安装可以查看本专栏的这篇博客: VmWare CentOS7安装与静态ip配置 centos7里安装docker步骤如下: 一、安装docker 先在终端输入su进入root用户,输入如下命…

linux 服务器利用阿里网盘API实现文件的上传和下载

文章目录 背景脚本初始化 阿里云盘API工具 aligo安装aligoaligo教程实战parse.py 演示上传文件上传文件夹下载文件下载文件夹 背景 最近在用ubuntu系统做实验,而ubuntu 系统的文件上传和下载操作很麻烦; 于是便打算使用阿里网盘的API 进行文件下载与上传…

ChatGPT 网络安全秘籍(四)

原文:zh.annas-archive.org/md5/6b2705e0d6d24d8c113752f67b42d7d8 译者:飞龙 协议:CC BY-NC-SA 4.0 第八章:事故响应 事故响应是任何网络安全策略的关键组成部分,涉及确定、分析和缓解安全漏洞或攻击。 及时和有效地…

推荐一个wordpress免费模板下载

首页大背景图,首屏2张轮播图,轮换展示,效果非常的炫酷,非常的哇噻,使用这个主题搭建的wordpress网站,超过了200个,虽然是一个老主题了,不过是经得起时间考验的,现在用起来…

IDEA 中 git fetch 验证报错 The provided password or token is incorrect

参考链接: 【GitLab】-HTTP Basic: Access denied.remote:You must use a personal access token_http basic: access denied. the provided password o-CSDN博客 idea使用gitLab报错:remote: HTTP Basic: Access denied_idea remote: http basic: acc…

C++编译器的程序转化

编译器在某些情况下会对程序进行转化,有些是编译器需要的,有些是出于性能考虑的,转化可能会产生出乎意料的结果 文章目录 明确的初始化操作参数的初始化返回值的初始化在使用者层面做优化在编译器层面做优化NRV 优化NRV优化的弊端 明确的初始…

在AndroidStudio创建Flutter项目并运行到模拟器

1.Flutter简介 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费,拥有宽松的开源协议,适合商…

基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真。基于模糊PI控制算法的龙格-库塔(Runge-Kutta, RK)连续搅拌釜反应器(Co…

C语言.自定义类型:结构体

自定义类型:结构体 1.结构体类型的声明1.1结构体回顾1.1.1结构体的声明1.1.2结构体变量的创建和初始化 1.2结构体的特殊声明1.3结构体的自引用 2.结构体内存对齐2.1对齐规则2.2为什么存在内存对齐2.3修改默认对齐数 3.结构体传参4.结构体实现位段4.1什么是位段4.2位…

[附源码]SpringBoot+Vue网盘项目_仿某度盘

视频演示 [附源码]SpringBootVue网盘项目_仿某度盘 功能介绍 支持秒传支持视频音频播放、拖拽进度条、倍速播放等支持图片预览,旋转,放大支持多人一起上传,共享上传进度(例如a上传苍老师学习资料到50%,突然b也上传苍老…

PHP源码_最新Ai对话系统网站源码 ChatGPT+搭建教程+前后端

基于ChatGPT开发的一个人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论…

【MySQL精炼宝库】深度解析索引 | 事务

目录 一、索引 1.1 索引(index)概念: 1.2 索引的作用: 1.3 索引的缺点: 1.4 索引的使用场景: 1.5 索引的使用: 1.6 面试题:索引底层的数据结构(核心内容): 1.7 索引列查询(主…

【opencv4.8.1 源码编译】windows10 OpenCV 4.8.1源码编译并实现 CUDA 12加速

Windows 下使用 CMake3.29.2 Visual Studio 2022 编译 OpenCV 4.8.1 及其扩展模块cuda12.0teslaT4显卡 记录自己在编译时踩过的坑,避免下次再犯或者给有需要的人。 在实际使用中,如果是对处理时间要求比较高的场景,使用OpenCV处理图片数据很…
最新文章