当前位置: 首页 > news >正文

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.04 Docker 镜像来创建容器。这个镜像是一个基于 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的核心思想是通过均衡地调整网络的深度(层数)、宽度&#xff0…...

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的编写,需要安装一个插件。...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统

核心速览 研究背景 ​​研究问题​​&#xff1a;这篇文章要解决的问题是当前大型语言模型&#xff08;LLMs&#xff09;在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色&#xff0c;但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成&#xff08;RA…...

【动态规划】B4336 [中山市赛 2023] 永别|普及+

B4336 [中山市赛 2023] 永别 题目描述 你做了一个梦&#xff0c;梦里有一个字符串&#xff0c;这个字符串无论正着读还是倒着读都是一样的&#xff0c;例如&#xff1a; a b c b a \tt abcba abcba 就符合这个条件。 但是你醒来时不记得梦中的字符串是什么&#xff0c;只记得…...