【Docker】Ubunru下Docker的基本使用方法与常用命令总结

【Docker】docker的基本使用方法

  • 镜像image与容器container的关系
  • 基本命令
    • - 查看 Docker 版本
    • - 拉取镜像
    • - 查看系统中的镜像
    • - 删除某个镜像
    • - 列出当前 Docker 主机上的所有容器,包括正在运行的、暂停的、已停止的,以及未运行的容器
    • - 列出当前 Docker 主机上的正在运行的容器
    • - 进入正在运行的容器
    • - 退出容器
    • - 删除容器
    • - 使用 docker start 命令后跟容器 ID 或名称来启动容器
    • - 停止正在运行的容器
    • - 启动docker服务
    • - 停止docker服务
    • - 重启docker服务
    • - 检查docker服务状态
    • - 将本地文件或环境复制到docker容器中(需要先退出容器 ctrl + d)
    • - 根据容器创建镜像
    • - 将镜像保存为压缩包
    • - 加载镜像
    • 参考文献

镜像image与容器container的关系

在这里插入图片描述

  • 镜像是模板:Docker 镜像是一个轻量级、可执行的软件包,包含了运行一个应用程序所需的代码、运行时、库、环境变量和配置文件。镜像可以看作是容器的模板,用于创建容器的实例。
  • 镜像可以创建多个容器:同一个 Docker 镜像可以用于创建多个独立的容器实例。每个容器都有自己的文件系统、网络设置、环境变量等,彼此之间是隔离的。
  • 容器是镜像的运行实例:当运行一个 Docker 镜像时,Docker 会创建一个容器,这是镜像的沙盒实例。容器是隔离的、安全的,并且是可移植的
  • 安装了Docker的机器是宿主机,在容器内的代码不会受到宿主机环境的影响
  • 配置好的容器可以打包成镜像,可以快速迭代,方便二次开发

优点:

  • 轻量级和高效:Docker容器共享宿主机的操作系统内核,因此不需要像虚拟机那样复制整个操作系统,这使得容器比虚拟机更加轻量和高效
  • 可移植性:Docker容器可以在任何支持Docker的系统上运行,无论是开发环境、测试环境还是生产环境,都能保证一致,eg.别人的环境打包好镜像,我们拿到镜像后不用配置环境,根据该镜像生成容器就可以直接在容器里运行程序
  • 隔离性:每个容器都是相互隔离的,拥有自己的文件系统,并且运行在独立的网络环境中。这有助于防止应用之间的冲突

基本命令

- 查看 Docker 版本

sudo docker --version

- 拉取镜像

Docker Hub 是 Docker 官方提供的公共镜像仓库,可在此链接中寻找需要的镜像并拉取到本地,其中会提供拉取镜像的命令

sudo docker pull [OPTIONS] 镜像名:TAG(不输入tag则默认拉取最新版,默认TAG是latest)

在这里插入图片描述

- 查看系统中的镜像

sudo docker images

- 删除某个镜像

sudo docker rmi 镜像ID或镜像名:tag

- 列出当前 Docker 主机上的所有容器,包括正在运行的、暂停的、已停止的,以及未运行的容器

sudo docker ps -a

- 列出当前 Docker 主机上的正在运行的容器

sudo docker ps
  • 根据镜像创建一个新的容器
    -d:以 detached 模式运行容器,即在后台运行
    -t:分配一个伪终端,通常与 -i 一起使用,使得可以与容器进行交互
    -i:保持容器的标准输入(STDIN)打开,即使不附加到终端
    当使用 -d 参数时,容器会在后台运行,不会阻塞当前的命令行或终端会话。如果想启动一个交互式的会话,或者想要进入正在运行的容器,可以使用 docker exec 命令
    要实现容器一被创建就自动运行,您需要在 docker run 命令中使用 -d(detached 模式)选项。这个选项允许容器在后台运行,即不与当前的命令行或终端会话交互
sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
eg. sudo docker run -d --name my_container(容器名) my_image(镜像名:tag)sudo docker run --name 容器名 -idt 镜像名:tag 

- 进入正在运行的容器

sudo docker exec -it 容器名 /bin/bash

这里的 -it 参数与 docker run 中的相同,/bin/bash 是您希望在容器内部启动的 shell

- 退出容器

ctrl + d

- 删除容器

sudo docker rm container_name_or_id

- 使用 docker start 命令后跟容器 ID 或名称来启动容器

sudo docker start CONTAINER_ID_OR_NAME

- 停止正在运行的容器

sudo docker stop container_name_or_id

- 启动docker服务

sudo systemctl start docker

- 停止docker服务

sudo systemctl stop docker

- 重启docker服务

sudo systemctl restart docker

- 检查docker服务状态

sudo systemctl status docker

- 将本地文件或环境复制到docker容器中(需要先退出容器 ctrl + d)

sudo docker cp /本地路径 容器名:/目标路径
eg. sudo docker cp /home/b/miniconda3/envs/yolo1.7 test:/opt/conda/envs

- 根据容器创建镜像

repository_name:tag 是为新镜像指定的名称和标签
在使用 docker commit 从容器创建镜像之前,通常需要确保容器已经停止运行

sudo docker commit [OPTIONS] CONTAINER_ID或容器名称 [REPOSITORY[:TAG]]
eg. sudo docker commit -a '作者' -m '提交说明' test image_test

-a 或 --author:设置镜像的作者字段,后面跟着作者的名字或邮箱
-m 或 --message:提交时的说明信息,通常用来描述镜像的内容或用途

- 将镜像保存为压缩包

sudo docker save --output my_image.tar my_image:my_tag
eg.sudo docker save -o test_tar.tar image_test

my_image:my_tag 是您要导出的镜像的名称和标签。如果未指定标签,将默认使用 latest

- 加载镜像

sudo docker load --input my_image.tar
sudo docker load -i test_tar.tar

参考文献

  • Docker封装anaconda环境,生成镜像并打包,纯小白一文读懂(二)

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

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

相关文章

【强训笔记】day19

NO.1 代码实现&#xff1a; #include <iostream> using namespace std;int gcd(int x,int y) {if(y0) return x;return gcd(y,x%y); } int main() {int n,a;while(cin>>n>>a){int b;for(int i0;i<n;i){cin>>b;if(a>b) ab;else agcd(a,b);}cou…

验证码生成--kaptcha

验证码生成与点击重新获取验证码 如图所示&#xff0c;本文档仅展示了验证码的生成和刷新显示。 1. 概述 系统通过生成随机验证码图像和文本。 2. 代码分析 2.1. Maven依赖 <dependency><groupId>com.github.penggle</groupId><artifactId>kaptch…

RustDesk 自建服务器部署和使用教程

RustDesk 是一个强大的开源远程桌面软件&#xff0c;是中国开发者的作品&#xff0c;它使用 Rust 编程语言构建&#xff0c;提供安全、高效、跨平台的远程访问体验。可以说是目前全球最火的开源远程桌面软件了&#xff0c;GitHub 星星数量达到了惊人的 64k&#xff01; 与 Team…

如何看待云计算的第三次浪潮?

如何看待云计算的第三次浪潮&#xff1f; 来自云栖大会的演讲你如何看待云计算的第三次浪潮&#xff1f;云计算的第三次浪潮将会给社会带来怎样的变革&#xff1f;开发者在云计算的第三次浪潮中将会有哪些机遇和挑战&#xff1f;机遇挑战 来自云栖大会的演讲 在2023云栖大会上…

SpringSecurity安全过滤器工作原理

前面通过三篇文章&#xff0c;从底层代码的角度分析了SpringSecurity的初始化过程。 接下来我们就要具体看一下&#xff0c;Spring Security的安全过滤器初始化、装配好之后&#xff0c;到底是怎么工作的。 还是按图索骥 下面我们简单从底层源码分析一下&#xff0c;请求是怎…

【全开源】Fastflow工作流系统(源码搭建/上线/运营/售后/维护更新)

一款基于FastAdminThinkPHP开发的可视化工作流程审批插件&#xff0c;帮助用户基于企业业务模式和管理模式自行定义所需的各种流程应用&#xff0c;快速构建企业自身的流程管控体系&#xff0c;快速融合至企业协同OA办公系统。 提供全部无加密服务端源码和前端源代码&#xff0…

树莓派4B-搭建一个本地车牌识别服务器

实现目标&#xff1a; 一、设备自启后能够获得服务的ip与端口号&#xff0c;用于计算机连接设备&#xff1b; 二、计算机可以通过服务ip与端口访问设备服务&#xff1b; 三、上传需要处理的数据&#xff0c;返回结果反馈给用户&#xff1b; 四、上传到服务器的数据不会导致设备…

亲测-wordpress文章实时同步发布修改删除多个站点的WP2WP插件

一款将wordpress文章同步到其他WordPress网站的插件&#xff0c;通过这款插件&#xff0c;可以保持不同博客之间文章发布、修改、删除的同步。 安装步骤&#xff1a; 主站和分站都要上传这个插件 1.把插件上传到wp-content\plugins解压出来wp2wp文件夹&#xff0c;然后启用插…

本地运行.net项目

有时候需要我们自己做一个.net的课设项目&#xff0c;但是我们有了代码后却不知道怎么运行。我们0基础来学习一下如何运行一个.net项目 1.安装visual studio 2022 不用安装老版本&#xff0c;新版就可以。安装好了2022版本&#xff0c;这是一个支持web的IDE&#xff0c;我们可…

C++入门指南(上)

目录 ​编辑 一、祖师爷画像 二、什么是C 三、C发展史 四、C在工作领域的应用 1. 操作系统以及大型系统软件开发 2. 服务器端开发 3. 游戏开发 4. 嵌入式和物联网领域 5. 数字图像处理 6. 人工智能 7. 分布式应用 五、如何快速上手C 一、祖师爷画像 本贾尼斯特劳斯…

JavaScript基础(六)

break & continue continue跳出本次循环&#xff0c;继续下面的循环。 break跳出终止循环。 写个简单的例子: <script> for (var i1; i<5; i){ if (i3){ continue; } console.log(i); } </script> 结果就是跳过i等于3的那次循环&#xff0c;而break: f…

Stable Diffusion是什么?

目录 一、Stable Diffusion是什么&#xff1f; 二、Stable Diffusion的基本原理 三、Stable Diffusion有哪些运用领域&#xff1f; 一、Stable Diffusion是什么&#xff1f; Stable Diffusion是一个先进的人工智能图像生成模型&#xff0c;它能够根据文本描述创造出高质量的图…

牛客NC404 最接近的K个元素【中等 二分查找+双指针 Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/b4d7edc45759453e9bc8ab71f0888e0f 知识点 二分查找&#xff1b;找到第一个大于等于x的数的位置idx;然后从idx开始往两边扩展Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、…

【基于 PyTorch 的 Python 深度学习】6 视觉处理基础:卷积神经网络(1)

前言 文章性质&#xff1a;学习笔记 &#x1f4d6; 学习资料&#xff1a;吴茂贵《 Python 深度学习基于 PyTorch ( 第 2 版 ) 》【ISBN】978-7-111-71880-2 主要内容&#xff1a;根据学习资料撰写的学习笔记&#xff0c;该篇主要介绍了卷积神经网络的卷积层部分。 预&#xff1…

Spring编程使用DDD的小把戏

场景 现在流行充血领域层&#xff0c;在原本只存储对象的java类中&#xff0c;增加一些方法去替代原本写在service层的crud&#xff0c; 但是例如service这种一般都是托管给spring的&#xff0c;我们使用的ORM也都托管给spring&#xff0c;这样方便在service层调用mybatis的m…

【大数据】HDFS

文章目录 [toc]HDFS 1.0NameNode维护文件系统命名空间存储元数据解决NameNode单点问题 SecondaryNameNode机架感知数据完整性校验校验和数据块检测程序DataBlockScanner HDFS写流程HDFS读流程HDFS与MapReduce本地模式Block大小 HDFS 2.0NameNode HANameNode FederationHDFS Sna…

windows环境下 postgresql v12 绿色版+postgis 3.4.1版本配置,空间数据库迁移

windows环境下 postgresql v12 绿色版+postgis 3.4.1版本配置,空间数据库迁移 一、软件环境 操作系统:windows 11 pg免安装版数据库:postgresql-12.17-1-windows-x64-binaries.zip 下载地址:https://get.enterprisedb.com/postgresql/postgresql-12.18-1-windows-x64-bina…

ISIS学习二——与OSPF相比的ISIS报文以及路由计算

目录 一.ISIS支持的网络类型 1.OSPF支持 2.ISIS支持 二.ISIS最优路径的选取 &#xff08;1&#xff09;.ISIS开销值设置 1.全局开销 2.接口开销 3.根据带宽设置开销 &#xff08;2&#xff09;.ISIS的次优路径 三.ISIS报文格式 1.ISIS专用报头——TLV 2.ISIS通用头…