ubuntu18.04安装docker容器
Ubuntu镜像下载
https://mirrors.huaweicloud.com/ubuntu-releases/
docker安装
# 第一步、卸载旧版本docker
sudo apt-get remove docker docker-engine docker.io containerd runc# 第二步、更新及安装软件
lu@host:~$ curl -fsSL https://get.docker.com -o get-docker.sh
lu@host:~$ sudo sh get-docker.sh
# Executing docker install script, commit: e5543d473431b782227f8908005543bb4389b8de
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c install -m 0755 -d /etc/apt/keyrings
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
gpg: WARNING: unsafe ownership on homedir '/home/lu/.gnupg'
+ sh -c chmod a+r /etc/apt/keyrings/docker.gpg
+ sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu bionic stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
+ sh -c docker version
Client: Docker Engine - CommunityVersion: 24.0.2API version: 1.43Go version: go1.20.4Git commit: cb74dfcBuilt: Thu May 25 21:52:13 2023OS/Arch: linux/amd64Context: defaultServer: Docker Engine - CommunityEngine:Version: 24.0.2API version: 1.43 (minimum version 1.12)Go version: go1.20.4Git commit: 659604fBuilt: Thu May 25 21:52:13 2023OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.6.21GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8runc:Version: 1.1.7GitCommit: v1.1.7-0-g860f061docker-init:Version: 0.19.0GitCommit: de40ad0================================================================================To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:dockerd-rootless-setuptool.sh installVisit https://docs.docker.com/go/rootless/ to learn about rootless mode.To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/WARNING: Access to the remote API on a privileged Docker daemon is equivalentto root access on the host. Refer to the 'Docker daemon attack surface'documentation for details: https://docs.docker.com/go/attack-surface/================================================================================lu@host:~$ # 第三步、查看docker是否安装完成
lu@host:~$ docker -v
Docker version 24.0.2, build cb74dfc# 第四步、查看是否成功启动docker
lu@host:~$ systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Sat 2024-05-11 15:17:44 CST; 1min 39s agoDocs: https://docs.docker.comMain PID: 15493 (dockerd)Tasks: 10CGroup: /system.slice/docker.service└─15493 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock5月 11 15:17:43 host systemd[1]: Starting Docker Application Container Engine...
5月 11 15:17:43 host dockerd[15493]: time="2024-05-11T15:17:43.435309035+08:00" level=info msg="Starting up"
5月 11 15:17:43 host dockerd[15493]: time="2024-05-11T15:17:43.441754095+08:00" level=info msg="detected 127.0.0.53 nameserver, assuming systemd-resolved, so using resolv.conf: /run
5月 11 15:17:43 host dockerd[15493]: time="2024-05-11T15:17:43.640102836+08:00" level=info msg="Loading containers: start."
5月 11 15:17:44 host dockerd[15493]: time="2024-05-11T15:17:44.219270950+08:00" level=info msg="Loading containers: done."
5月 11 15:17:44 host dockerd[15493]: time="2024-05-11T15:17:44.461539976+08:00" level=warning msg="WARNING: No swap limit support"
5月 11 15:17:44 host dockerd[15493]: time="2024-05-11T15:17:44.461699515+08:00" level=info msg="Docker daemon" commit=659604f graphdriver=overlay2 version=24.0.2
5月 11 15:17:44 host dockerd[15493]: time="2024-05-11T15:17:44.462969664+08:00" level=info msg="Daemon has completed initialization"
5月 11 15:17:44 host systemd[1]: Started Docker Application Container Engine.
5月 11 15:17:44 host dockerd[15493]: time="2024-05-11T15:17:44.575567013+08:00" level=info msg="API listen on /run/docker.sock"
lu@host:~$
docker常用指令
查看本地镜像
docker images
docker images -q # 查看所有镜像id
搜索镜像
docker search 镜像名称
查看容器
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器
拉取指定镜像
docker pull [images]:[version]# 例如:docker pull ubuntu:14.04
创建并启动容器
docker run 参数
创建容器并进入交互模式
sudo docker run -it ubuntu:14.04 bash# 这个命令会启动一个Ubuntu容器,并为您提供一个shell 来交互,shell 终端退出则容器会关闭。
创建容器后台运行
sudo docker run -d --name my_ubuntu ubuntu:14:04# 这个命令会以守护进程模式(-d)启动一个Ubuntu容器,并将其命名为 my_ubuntu。
# 关闭终端容器不会退出,要想进入交互模式需要docker exec指令
例子:
lu@host:~$ cat run_docker.sh
#/bin/bashexport MY_CONTAINER="ubuntu14.04-`whoami`"
num=`sudo docker ps -a|grep -w "$MY_CONTAINER$"|wc -l`
echo $num $MY_CONTAINER
if [ 0 -eq $num ];then
# --net=host:使容器共享宿主机的网络接口。--ipc=host:使容器可以访问宿主机的 IPC 资源。--pid=host : 使容器可以访问宿主机的进程。
# --privileged:给予容器扩展的权限,允许容器访问宿主机上的所有设备,并运行一些通常被禁止的操作.
sudo docker run \--net=host --ipc=host --pid=host \-it --privileged --name $MY_CONTAINER \-v $PWD:/home/share ubuntu:14.04 bash
elsesudo docker start $MY_CONTAINERsudo docker exec -ti $MY_CONTAINER /bin/bash
fi
lu@host:~$
参数:
--net=host:使容器使用宿主机的网络命名空间,这意味着容器将共享宿主机的网络接口。
--ipc=host:使容器使用宿主机的 IPC 命名空间,这意味着容器可以访问宿主机的 IPC 资源。
--pid=host:使容器使用宿主机的 PID 命名空间,这意味着容器可以访问宿主机的进程。
-it:以交互模式(-i)运行容器,并为容器分配一个伪终端(-t)。
--privileged:给予容器扩展的权限,允许容器访问宿主机上的所有设备,并运行一些通常被禁止的操作。
--name $MY_CONTAINER:指定容器的名称为环境变量MY_CONTAINER的值。
-v $PWD:/home/lu:将当前工作目录($PWD)挂载到容器中的/home/lu目录。这允许您从宿主机访问和修改容器中的文件。
ubuntu:14.04:使用ubuntu:14.04Docker 镜像来创建容器。这个镜像是一个基于 Ubuntu 14.04 的环境。
bash:容器启动后执行的命令,这里是一个 Bash shell,允许您在容器中执行命令。
启动容器
# 通过docker start命令来启动已部署的容器服务。
docker start 容器名称
进入容器
# 容器启动后,进入终端交互模式
docker exec 参数
停止容器
# 非交互模式下,通过docker stop命令来停止已部署的容器服务。
docker stop 容器名称# 如果创建容器的同时进入到交互模式下,通过exit退出终端来停止容器# 如果是使用 docker exec进入的交互模式:
# 那么退出容器只需要关闭终端或输入exit 命令不会关闭容器,必须通过docker stop命令来停止。
删除容器
docker rm 容器名称
删除镜像
docker rmi [imageID]
相关文章:
ubuntu18.04安装docker容器
Ubuntu镜像下载 https://mirrors.huaweicloud.com/ubuntu-releases/ docker安装 # 第一步、卸载旧版本docker sudo apt-get remove docker docker-engine docker.io containerd runc# 第二步、更新及安装软件 luhost:~$ curl -fsSL https://get.docker.com -o get-docker.sh …...
202212青少年软件编程(Python)等级考试试卷(二级)
第 1 题 【单选题】 运行下列程序, 最终输出的结果是? ( ) info = {1:小明, 2:小黄,3:小兰}info[4] = 小红info[...
单播、组播、广播
概念 单播(Unicast) 单播是网络中最常用、最基本的通信方式。在单播通信中,数据包从一个节点发送到特定的另一个节点。换句话说,发送端和接收端之间建立一对一的连接,然后进行数据传输。 例如&#x…...
吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.13-1.14
目录 第二门课: 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第一周:深度学习的 实践层面 (Practical aspects of Deep Learning)1.13 梯度检验&#…...
笔试强训未触及题目(个人向)
1.DP22 最长回文子序列 1.题目 2.解析 这是一个区间dp问题,我们让dp[i][j]表示在区间[i,j]内的最长子序列长度,如图: 3.代码 public class LongestArr {//DP22 最长回文子序列public static void main(String[] args) {Scanner…...
【YOLO改进】换遍MMDET主干网络之EfficientNet(基于MMYOLO)
EfficientNet EfficientNet是Google在2019年提出的一种新型卷积神经网络架构,其设计初衷是在保证模型性能的同时,尽可能地降低模型的复杂性和计算需求。EfficientNet的核心思想是通过均衡地调整网络的深度(层数)、宽度࿰…...
uniapp下拉选择组件
uniapp下拉选择组件 背景实现思路代码实现配置项使用尾巴 背景 最近遇到一个这样的需求,在输入框中输入关键字,通过接口查询到结果之后,以下拉框列表形式展现供用户选择。查询了下uni-app官网和项目中使用的uv-ui库,没找到符合条…...
高斯数据库创建函数的语法
CREATE FUNCTION 语法格式 •兼容PostgreSQL风格的创建自定义函数语法。 CREATE [ OR REPLACE ] FUNCTION function_name ( [ { argname [ argmode ] argtype [ { DEFAULT | : | } expression ]} [, …] ] ) [ RETURNS rettype [ DETERMINISTIC ] | RETURNS TABLE ( { column_…...
【.NET Core】你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟
你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟 文章目录 你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟一、概述二、CallerMemberNameAttribute类三、CallerFilePathAttribute 类四、CallerLineNumberAttribute 类…...
ubuntu删除opencv
要完全删除OpenCV 3.4.5版本,你可以按照以下步骤进行操作: 卸载OpenCV库: 首先,你需要卸载OpenCV 3.4.5版本。可以使用以下命令卸载OpenCV库: sudo apt-get purge libopencv*这将删除OpenCV库及其相关文件。 删除O…...
K8s源码分析(二)-K8s调度队列介绍
本文首发在个人博客上,欢迎来踩! 本次分析参考的K8s版本是 文章目录 调度队列简介调度队列源代码分析队列初始化QueuedPodInfo元素介绍ActiveQ源代码介绍UnschedulableQ源代码介绍**BackoffQ**源代码介绍队列弹出待调度的Pod队列增加新的待调度的Podpod调…...
OpenGL ES 面试高频知识点(二)
说说纹理常用的采样方式? 最邻近点采样(GL_NEAREST)和双线性采样(GL_LINEAR)。 GL_NEAREST 采样是 OpenGL 默认的纹理采样方式,OpenGL 会选择中心点最接近纹理坐标的那个像素,纹理放大的时候会有锯齿感或者颗粒感。 **GL_LINEAR 采样会基于纹理坐标附近的纹理像素,计…...
2024第十六届“中国电机工程学会杯”数学建模A题B题思路分析
文章目录 1 赛题思路2 比赛日期和时间3 竞赛信息4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…...
面向对象的三大特性:封装、继承、多态
一、封装 封装是面向对象的核心思想。是以类为载体,将对象的属性和行为封装起来,对外隐藏其实现细节。 封装保证了类内部数据结构的完整性,使得外部(使用该类的用户)不能轻易地直接操作此数据结构,只能执…...
目标检测YOLO实战应用案例100讲-基于深度学习的交通场景多尺度目标检测算法研究与应用(中)
目录 3.4 实验结果与分析 深度融合注意力跨尺度复合空洞残差交通目标检测算法...
前端GET请求下载后端返回数据流文件,并且处理window.open方法跳转白屏方法
平时常用导出都是用window.open方法 点击跳转连接:使用 window.open 下载 const downError 地址?&参数${参数|| }; const downError Url/xxx/xxx?&orgId${orgId || };window.open(downError, "_self");//调用window.open方法导出 而使用…...
SD321放大器3V输入电流电压保护二极管25C电源电流
Sd 321运算放大器可以在单电源或双电源电压下工作, 可以使用最坏情况下的非反相单位增益连接来适应。如 具有真微分输入,并且保持在线性模式,输入共模电压 果放大器必须驱动较大的负载电容,则应使用较大的闭 为0。Vpc-这种放大器可…...
geoserver SQL注入、Think PHP5 SQL注入、spring命令注入
文章目录 一、geoserver SQL注入CVE-2023-25157二、Think PHP5 SQL注入三、Spring Cloud Function SpEL表达式命令注入(CVE-2022-22963) 一、geoserver SQL注入CVE-2023-25157 介绍:GeoServer是一个开源的地理信息系统(GIS&#…...
scrapy的入门
今天我们先学习一下scrapy的入门,Scrapy是一个快速的高层次的网页爬取和网页抓取框架,用于爬取网站并从页面中提取结构化的数据。 1. scrapy的概念和流程 1.1 scrapy的概念 我们先来了解一下scrapy的概念,什么是scrapy: Scrapy是一个Python编写的开源网络爬虫框架…...
大数据Scala教程从入门到精通第七篇:Scala在IDEA中编写Hello World
一:Scala在IDEA中编写Hello World 想让我们的idea支持scala的编写,需要安装一个插件。...
EspNowBus:ESP32轻量级安全无线总线库
1. EspNowBus 项目概述 EspNowBus 是一个面向 ESP32 平台、以组(Group)为组织单元的轻量级 ESP-NOW 消息总线库,专为小型嵌入式无线网络(典型规模 ≈6 节点)设计。其核心工程目标并非追求最大吞吐或最广覆盖࿰…...
ArdaTask:面向MCU的轻量级时间驱动任务调度框架
1. 项目概述ArdaTask 是一个面向嵌入式系统的轻量级、时间驱动型多任务调度框架,其设计目标明确:在资源受限的MCU(如Cortex-M0/M3/M4、RISC-V内核)上实现确定性、低开销、无动态内存分配的周期性任务管理。它不替代RTOS࿰…...
高效视频素材全流程管理工具:Cobalt 开源解决方案详解
高效视频素材全流程管理工具:Cobalt 开源解决方案详解 【免费下载链接】cobalt save what you love 项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt Cobalt 是一款专为内容创作者设计的高效视频素材管理工具,支持从 30 主流平台下载视…...
别再自己造轮子了!STM32F103 RTC时间戳转换,用标准库<time.h>更香(附完整代码)
STM32F103 RTC时间处理:为什么标准库<time.h>是你的最佳选择 第一次在STM32上实现RTC功能时,我花了整整三天时间调试自己写的时间戳转换算法。直到某个深夜,我才发现原来C标准库早已提供了完美解决方案——那一刻既兴奋又懊恼。如果你也…...
在Windows 11上用Bochs调试Linux 0.00:从BIOS加载到保护模式切换的完整实战
在Windows 11上用Bochs调试Linux 0.00:从BIOS加载到保护模式切换的完整实战 如果你对操作系统的底层实现充满好奇,想亲手探索计算机从加电到运行第一个用户程序的完整过程,那么这次实验将是一次绝佳的实践机会。我们将使用Bochs模拟器&#x…...
Atmosphere系统功能扩展指南:从基础配置到高级应用的完整学习路径
Atmosphere系统功能扩展指南:从基础配置到高级应用的完整学习路径 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 问题导入:为什么需要自定义系统 想象一下&#x…...
GSE-Advanced-Macro-Compiler:重新定义魔兽世界技能自动化的开发实践
GSE-Advanced-Macro-Compiler:重新定义魔兽世界技能自动化的开发实践 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. It uses Travis for UnitTests, Coveralls to report on test …...
YOLO X Layout实战:商业报告智能解析,快速提取表格与图表数据
YOLO X Layout实战:商业报告智能解析,快速提取表格与图表数据 1. 商业文档处理的痛点与解决方案 在金融分析、市场研究等专业领域,我们经常需要处理大量商业报告。这些PDF或扫描件文档中包含大量有价值的数据表格和图表,但手动提…...
如何快速掌握深度学习调参技巧:tuning_playbook_zh_cn完全解析
如何快速掌握深度学习调参技巧:tuning_playbook_zh_cn完全解析 【免费下载链接】tuning_playbook_zh_cn 一本系统地教你将深度学习模型的性能最大化的战术手册。 项目地址: https://gitcode.com/gh_mirrors/tu/tuning_playbook_zh_cn tuning_playbook_zh_cn是…...
LVGL下拉列表控件lv_dropdown实战:从基础配置到高级定制(附完整代码示例)
LVGL下拉列表控件lv_dropdown实战:从基础配置到高级定制(附完整代码示例) 在嵌入式UI开发领域,LVGL(Light and Versatile Graphics Library)凭借其轻量级和高度可定制的特性,已成为许多开发者的…...
