docker:在ubuntu中运行docker容器

前言

1 本笔记本电脑运行的ubuntu20.04系统

2 docker运行在ubuntu20.04系统

3 docker镜像使用的是ubuntu18.04,这样拉的

docker pull ubuntu:18.04

4 docker容器中运行的是ubuntu18.04的系统,嗯就是严谨

5 这纯粹是学习笔记,实际上没啥价值。

6 和docker相关的命令同样适用于windows版本的docker,且不保证不会出现死机,硬盘被莫名其妙格式化的情况。

运行容器

查看容器:docker ps -a

容器运行了:

docker exec -it ubuntu-18-001 /bin/bash

进入容器了

使用另一个终端查看容器的运行状态:

 docker ps

 说明容器已经运行2分钟了

在这个输出中:

  • CONTAINER ID 是容器的唯一标识符。
  • IMAGE 是容器使用的镜像名称。
  • COMMAND 是容器启动时执行的命令。
  • CREATED 显示容器的创建时间。
  • STATUS 显示容器的状态,例如 Up 表示正在运行,Exited 表示已经停止。
  • PORTS 显示容器的端口映射信息。
  • NAMES 是容器的名称,如果您没有指定名称,Docker 会自动生成一个。

查看所有容器(包括已停止的):docker ps -a

配置容器网络

apt-get install update

apt-get install tree
apt-get install vim
apt-get install net-tools

apt-get install git

apt-get install curl

ping宿主机:

设置登录密码

passwd root

设置完成后,执行exit退出docker容器。

登录测试:

先查找容器的ID:docker ps -a

 使用docker login 1dfd192c72fb

如下所示:确实会提示需要输入用户名和密码,但是会报错

直接输入docker exec -it ubuntu-18-001 /bin/bash还可以进入。 

重启docker容器

 docker restart ubuntu-18-001

执行后,查看docker的运行时间,发现确实重启了

和宿主机NFS共享文件夹

挂在主机的nfs文件夹:

sudo mount -t nfs -o nfsvers=3,nolock 192.168.31.20:/home/lkmao/nfsroot nfsserver/

在另一个机器上挂载是正常的。应该是docker的容器的权限问题。

因为启动容器时,没有开启特权模式,解决办法是,1停止容器,2特权模式运行容器

1 停止容器:

2特权模式运行容器

关于docker run,docker start ,docker exec。

docker run:创建新的容器,并运行容器,并执行传递的命令,支持特权

docker start:启动已经存在的容器,并执行传递的命令,不支持特权

支持特权:并执行传递的命令,不支持特权

所以要删除容器新建一个呗。

docker rm <容器名>,如下所示:因为是测试的,所以就都删除了。

创建新的容器:

如下ubuntu:18.04是镜像名称,ubuntu18-lkmao-001是新建的容器的名字

-it是-i和-t的合体,-i表示交互,-t表示使用终端,就是使用终端交互。就是shell登录界面。

--privileged表示特权模式。

docker run --privileged --network=host --name ub18-lkmao-003 -it -p 8022:22 f9a80a55f492

会有一个经过表示,你都使用主机网络了,还有必要做端口转发发,所以端口转发设置无效。

因为是新建的容器,所以安装一些必要的软件。现在在容器里执行ifconfig,通过输出信息可知,当前容器已经使用了和宿主机相同的IP地址了。

再次挂在:挂载成功

先安装nfs客户端:

apt-get install nfs-common
mkdir /nfsserver/ -p

然后挂载:

mount -t nfs 192.168.31.20:/home/lkmao/nfsroot /nfsserver/

后者:

sudo mount -t nfs -o nfsvers=3,nolock 192.168.31.20:/home/lkmao/nfsroot nfsserver/

验证:挂载成功

检查容器的状态

通过docker ps -a获取对应的容器的ID;

使用docker inspect <CONTAINER ID>查看,执行后会输出一大段信息。

可以看到很多的信息,包括绑定的22端口:

经过实际测试不实行的,因为前面已经发出报警了,因为绑定了主机的网络,所以端口设置失效了。

小结 

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

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

相关文章

文件的输入与输出(史上最全)

文件的输入与输出 一个文件是一个存储在磁盘中带有指定名称和目录路径的数据集合。当打开文件进行读写时&#xff0c;它变成一个流。 从根本上说&#xff0c;流是通过通信路径传递的字节序列。有两个主要的流&#xff1a;输入流 和 输出流。输入流用于从文件读取数据&#xf…

指纹浏览器是什么?有哪些好用的推荐?

在网络世界中&#xff0c;保护您的在线隐私和安全非常重要。反检测浏览器是专门为此诞生的工具&#xff0c;旨在通过更改浏览器指纹来帮助您做到这一点&#xff0c;它们使网站、广告商和其他人很难跟踪您的在线行为。 一、什么是反检测浏览器&#xff1f; 您是否想过网站如何检…

C++万物起源:类与对象(二)

一、类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f; 并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员 函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;…

动态规划算法及Java实例

动态规划算法的基本概念 动态规划算法是一种解决复杂问题的有效方法&#xff0c;它通过将大问题分解为小问题&#xff0c;然后逐个解决这些小问题&#xff0c;最终通过组合小问题的解来得到大问题的解。这种方法的特点是充分利用了问题的重叠子问题和最优子结构的特性&#xf…

篮球论坛系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文&#xff08;设计&#xff09;学生选题参考合集推荐收藏&#xff08;包含Springboot、jsp、ssmvue等技术项目合集&#xff09; 目录 1. …

Linux根据时间删除文件或目录

《liunx根据时间删除文件》和 《Linux 根据时间删除文件或者目录》已经讲述了根据时间删除文件或目录的方法。 下面我做一些补充&#xff0c;讲述一个具体例子。以删除/home目录下的文件为例。 首先通过命令&#xff1a; ls -l --time-style"%Y-%m-%d %H:%M:%S"…

Redis、Mysql双写情况下,如何保证数据一致

Redis、Mysql双写情况下&#xff0c;如何保证数据一致 场景谈谈数据一致性三个经典的缓存模式Cache-Aside Pattern读流程写流程 Read-Through/Write-Through&#xff08;读写穿透&#xff09;Write behind &#xff08;异步缓存写入&#xff09; 操作缓存的时候&#xff0c;删除…

【tensorflow框架神经网络实现鸢尾花分类】

文章目录 1、数据获取2、数据集构建3、模型的训练验证可视化训练过程 1、数据获取 从sklearn中获取鸢尾花数据&#xff0c;并合并处理 from sklearn.datasets import load_iris import pandas as pdx_data load_iris().data y_data load_iris().targetx_data pd.DataFrame…

git泄露

git泄露 CTFHub技能树-Web-信息泄露-备份文件下载 当前大量开发人员使用git进行版本控制&#xff0c;对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。 工具GitHack使用&#xff1a;python2 GitHack.py URL地址/.git/ git命令…

怎样才能把重建大师的空三导进去CC?

导出空三文件xml两者都是通用的&#xff0c;cc和photoscan都可以兼容。 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件&#xff0c;输入倾斜照片&#xff0c;激光点云&#xff0c;POS信息及像控点&#xff0c;输出高精度彩色网格模型&#xff0c;可一键…

ros2相关代码记录

1.ros2概述 ROS2&#xff08;Robot Operating System 2&#xff09;是一个用于机器人应用程序的开源软件框架。它是ROS&#xff08;Robot Operating System&#xff09;的下一代版本&#xff0c;旨在改进和扩展原始ROS的特性&#xff0c;以适应更广泛的机器人应用场景和需求。…

Unity 实现鼠标左键进行射击

发射脚本实现思路 分析 确定用户交互方式&#xff1a;通过鼠标左键点击发射子弹。确定子弹发射逻辑&#xff1a;每次点击后有一定时间间隔才能再次发射。确定子弹发射源和方向&#xff1a;子弹从枪口&#xff08;Transform&#xff09;位置发射&#xff0c;沿枪口方向前进。 变…

Qt扫盲-QAssisant 集成其他qch帮助文档

QAssisant 集成其他qch帮助文档 一、概述二、Cmake qch例子1. 下载 Cmake.qch2. 添加qch1. 直接放置于Qt 帮助的目录下2. 在 QAssisant中添加 一、概述 QAssisant是一个很好的帮助文档&#xff0c;他提供了供我们在外部添加新的 qch帮助文档的功能接口&#xff0c;一般有两中添…

八大技术趋势案例(虚拟现实增强现实)

科技巨变,未来已来,八大技术趋势引领数字化时代。信息技术的迅猛发展,深刻改变了我们的生活、工作和生产方式。人工智能、物联网、云计算、大数据、虚拟现实、增强现实、区块链、量子计算等新兴技术在各行各业得到广泛应用,为各个领域带来了新的活力和变革。 为了更好地了解…

Composer常见错误解决

Composer 是 PHP 社区广泛使用的一个依赖管理工具&#xff0c;它帮助开发者定义、管理和安装项目所需的库。在使用 Composer 的过程中&#xff0c;可能会遇到各种错误和问题。以下是一些常见的 Composer 错误及其解决方法&#xff1a; 1. 内存限制错误 错误信息&#xff1a;P…

QT QInputDialog弹出消息框用法

使用QInputDialog类的静态方法来弹出对话框获取用户输入&#xff0c;缺点是不能自定义按钮的文字&#xff0c;默认为OK和Cancel&#xff1a; int main(int argc, char *argv[]) {QApplication a(argc, argv);bool isOK;QString text QInputDialog::getText(NULL, "Input …

李宏毅【生成式AI导论 2024】第6讲 大型语言模型修炼_第一阶段_ 自我学习累积实力

背景知识:机器怎么学会做文字接龙 详见:https://blog.csdn.net/qq_26557761/article/details/136986922?spm=1001.2014.3001.5501 在语言模型的修炼中,我们需要训练资料来找出数十亿个未知参数,这个过程叫做训练或学习。找到参数后,我们可以使用函数来进行文字接龙,拿…

【数据分析面试】3.编写数据选取函数(Python)

题目 给定了一个名为 students_df 的学生数据表格 nameagefavorite_colorgradeTim Voss19red91Nicole Johnson20yellow95Elsa Williams21green82John James20blue75Catherine Jones23green93 编写一个名为 grades_colors 的函数&#xff0c;以选择仅当学生喜欢的颜色是绿色或…

2024最新Guitar Pro 8.1中文版永久许可证激活

Guitar Pro是一款非常受欢迎的音乐制作软件&#xff0c;它可以帮助用户创建和编辑各种音乐曲谱。从其诞生以来就送专门为了编写吉他谱而研发迭代的。 尽管这款产品可能已经成为全球最受欢迎的吉他打谱软件&#xff0c;在编写吉他六线谱和乐队总谱中始终处于行业领先地位&#x…

python 将时间字符串转为

要将时间字符串转换为Python中的datetime对象&#xff0c;可以使用datetime.datetime.strptime()函数。这里是一个例子&#xff1a; import datetime# 假设有一个时间字符串 time_str "2023-04-01 10:00:00" # 假设时间字符串的格式是年-月-日 时:分:秒# 使用strpt…