Ubantu docker学习笔记(一) docker安装

news2024/11/28 20:36:45

文章目录

  • 一、安装准备工作
  • 二、安装docker
  • 三、问题
  • 四、docker镜像配置
  • 五、docker常见命令
      • 1.新建+启动容器
      • 2.列出当前所有正在运行的容器
      • 3.退出容器
      • 4.启动已停止运行的容器
      • 5.重启容器
      • 6.停止容器
      • 7.强制停止容器 (还在运行的)
      • 8.删除已停止的容器
  • 重要的后台守护
      • 1.启动守护式容器(后台服务器)
      • 2.查看容器日志
      • 3.查看容器内运行的进程
      • 4.查看容器内部细节
      • 5.进入正在运行的容器并以命令行交互 exec
      • 6.从容器内拷贝文件到主机上
      • 7.导入和导出容器


一、安装准备工作

更新软件库

sudo apt-get update

安装依赖软件

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

增加官方key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

下载仓库文件

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

二、安装docker

更新软件库

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

运行第一个hello容器

sudo docker run hello-world

这样就完成啦!
在这里插入图片描述

三、问题

如果出现
在这里插入图片描述

Got permission denied while trying to connect to the Docker daemon socket at unix:/

说明我们没有加入新的用户组,我们直接加入组

sudo gpasswd -a $USER docker 

更新组

newgrp docker

再去执行执行你的命令吧!

四、docker镜像配置

创建或修改 /etc/docker/daemon.json 文件,修改为如下形式

sudo vi /etc/docker/daemon.json

daemon.json

{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com"
    ]
}

在这里插入图片描述

重启docker

service docker restart

查看是否成功

docker info

在这里插入图片描述

五、docker常见命令

1.新建+启动容器

docker run

–name=“容器新名字” 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);下面重要的后台会讲

-i:以交互模式运行容器,通常与 -t 同时使用; it同时使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互);比如启动容器中的linux

-P: 随机端口映射,大写P
-p: 指定端口映射,小写p

2.列出当前所有正在运行的容器

docker ps

-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。

3.退出容器

 exit     (run进去容器,exit退出,容器停止)

ctrl+p+q (常用的) (run进去容器,ctrl+p+q退出,容器不停止)

4.启动已停止运行的容器

​        docker start 容器ID或者容器名

5.重启容器

​       docker restart 容器ID或者容器名

6.停止容器

​      docker stop 容器ID或者容器名

7.强制停止容器 (还在运行的)

​      docker kill 容器ID或容器名

8.删除已停止的容器

​      docker rm 容器ID

重要的后台守护

1.启动守护式容器(后台服务器)

​	docker run -d

2.查看容器日志

​    docker logs 容器ID     (查看后台具体详情)

3.查看容器内运行的进程

​    docker top 容器ID

4.查看容器内部细节

   docker inspect 容器ID

5.进入正在运行的容器并以命令行交互 exec

docker exec -it 容器ID bashShell

6.从容器内拷贝文件到主机上

​	docker cp  容器ID:容器内路径 目的主机路径

7.导入和导出容器

​	export 导出容器的内容留作为一个 tar归档文件[对应import命令]

​	import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

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

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

相关文章

只做笔记有必要买apple pencil吗?苹果笔的代替笔推荐

如果仅仅使用IPAD来进行打游戏和看剧的话,未免有些浪费。ipad的作用还是挺大的,可以用来做学习笔记,也可以用来做绘画,也可以用来做一些重要的内容。很多人都会认为,苹果的电容笔很好用,但是价格上要比一般…

交流电机驱动器中的隔离电压感应

汽车和工业终端设备,如电机驱动器、串式逆变器和机载充电器,在高电压下运行,不能安全地与人直接互动。隔离电压测量通过保护人类免受高压电路执行一个功能的影响,有助于优化操作和确保使用的安全性。 设计用于高性能,隔…

Jquery项目中使用vue.js

大家在工作的情况中,可能会遇到之前的老项目采用jq书写,或者修改或者新增功能在jq中,原始jq的项目,代码可维护性很差,一个页面几千行jq,可维护性很差,工作量巨大,所以这个时候大家可以引入vue.js。 第一步:引入vue.js…

Proj-9.0.0源码编译(Windows)

源码下载:下载地址官网教程:官网教程使用osgeo4w在线安装,时间较长且到后面会报错,尝试多次无法安装成功,只能切换源代码编译安装,官网教程如下:(补充一下对vcpkg的简单介绍&#xf…

音质好的运动蓝牙耳机有哪些、最好的运动蓝牙耳机推荐清单

而作为一名运动爱好者,我非常喜欢在运动时听音乐,简直不要太轻松!不过在换了多款蓝牙耳机之后,我终于找到了几款非常适合运动的耳机,戴着它们运动,不仅不会出现不适感,还能享受清晰动听音乐&…

executor行为相关Spark sql参数源码分析

0、前言 参数名和默认值spark.default.parallelismDefault number of partitions in RDDsspark.executor.cores1 in YARN mode 一般默认值spark.files.maxPartitionBytes134217728(128M)spark.files.openCostInBytes4194304 (4 MiB)spark.hadoop.mapreduce.fileoutputcommitte…

snap使用interface:content的基础例子

snap做包还在学习阶段,官网文档可查看:The content interface | Snapcraft documentation该例子由publiser和consumer两部分组成,一个提供一个只读的数据区,一个来进行读取其中的信息,这样就完成了content的交互。publ…

华为机试题:HJ90 合法IP(python)

文章目录(1)题目描述(2)Python3实现(3)知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

ICASSP 2023论文模型开源|语音分离Mossformer

人类能在复杂的多人说话环境中轻易地分离干扰声音,选择性聆听感兴趣的主讲人说话。但这对机器却不容易,如何构建一个能够媲美人类听觉系统的自动化系统颇具挑战性。 本文将详细解读ICASSP2023本届会议收录的单通道语音分离模型Mossformer论文&#xff0…

EXCEL职业版本(3)

Excel职业版本(3) 公式与函数 运算符 算数运算符 关系运算符 地址的引用 相对引用:你变它就变,如影随形 A2:A5 绝对引用:以不变应万变 $A$2 混合引用:识时务者为俊杰,根据时…

tkinter实现悬浮文字

悬浮文字效果如下图:不可点击,不可选中,任务栏不显示图标,文字背景完全透明。 实现方法: root.wm_overrideredirect(True) wm_overrideredirect方法,在Windows平台下,这个函数的作用&#xff…

项目规模估算如何精准 4大注意事项

项目报价,需要首先进行项目规模估算,如何估算更精准,6大注意事项。 1、项目范围规划 在项目估算前,需要对项目范围进行规划,这包括所有活动以及开发可交付产品所需的流程。范围规划是前提,它明确定义了项目…

操作系统内核与安全分析课程笔记【1】链表、汇编与makefile

文章目录链表循环双向链表哈希链表其他链表汇编内联汇编扩展内联汇编makefile链表 链表是linux内核中关键的数据结构。在第二次课中,重点介绍了循环双向链表和哈希链表。这两种链表都在传统的双向链表的基础之上进行了针对效率的优化。(ps:这部分可以通…

smp_init过程解析

当你看到这样的log,会不会很慌张?竟然由CPU没有启动成功,除了什么故障?本文将结合我遇到的一个问题,将启动过程中bringup secondary cpu的过程分析一下。smp_init代码如下:602 void __init smp_init(void) …

合肥工业大学密码学课设-RSA

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :课设-密码学课设-RSA 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台&#…

牛客刷题第一弹

1.异常处理 都是Throwable的子类: ①.Exception(异常):是程序本身可以处理的异常。 ②.Error(错误): 是程序无法处理的错误。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,一般不需…

百丽时尚×优维科技×道客战略启动「云原生一体化项目」

3月7日,由百丽时尚集团(以下简称:百丽时尚)联合优维科技、道客共同举办的「云原生一体化项目启动会」在深圳百丽国际大厦圆满落幕,项目合作三方齐聚一堂,就云原生一体化建设战略方案达成合作共识&#xff0…

【LeetCode每日一题】——783.二叉搜索树节点最小距离

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【题目注意】九【时间频度】十【代码实现】十一【提交结果】一【题目类别】 深度优先搜索 二【题目难度】 简单 三【题目编号】 783.二叉搜索树节点最小距…

Hands-on C++ Game Animation Programming阅读笔记(九)

Chapter 12: Blending between Animations This fade is usually short—a quarter of a second or less. (动画之间的fade一般很快,0.5s甚至更短) 本章重点: 两个Pose的Blending不同Animations的CrossFading,会有一个cross fade controller…

OpenCV入门(六)快速学会OpenCV5图像处理基础(二)像素处理

OpenCV入门(六)快速学会OpenCV5图像处理基础(二) 像素是图像构成的基本单位,像素处理是图像处理的基本操作,可以通过位置索引的形式对图像内的元素进行访问、处理。 1.二值化操作 需要说明的是&#xff…