ubuntu18.04安装docker

news2024/12/27 14:42:13

ubuntu18.04安装docker

文章目录

  • ubuntu18.04安装docker
  • 一.安装
    • 1.更新软件库索引
    • 2.安装一些必要的软件包
    • 3.添加Docker的官方GPG密钥
    • 4.添加Docker软件库
    • 5.再次更新软件库索引
    • 6.安装Docker CE
    • 7.启动Docker并设置开机启动
    • 8.验证Docker安装
    • 9.(若要让非root用户可以运行Docker命令)可以将用户添加到docker组:
  • 二.测试
    • 1.docker run hello-world
    • 2.docker run -it ubuntu bash
    • 3.sudo docker run -d -p 80:80 --name mynginx nginx
      • 如何查看效果
  • 三.如何查看上面测试的容器
    • 1.查看正在运行的容器:
    • 2.查看正在运行的容器:
    • 3.仅查看容器名称
    • 四.如何停止容器

  • 首先查看下Ubuntu的版本
    lsb_release -a
    我的版本信息如下

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 18.04.6 LTS
    Release:        18.04
    Codename:       bionic
    

然后按照如下步骤安装即可

一.安装

1.更新软件库索引

首先,更新系统软件库索引。

sudo apt update

2.安装一些必要的软件包

Docker需要使用curl、apt-transport-https、ca-certificates、software-properties-common
安装这些软件包:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

3.添加Docker的官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4.添加Docker软件库

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5.再次更新软件库索引

sudo apt update

6.安装Docker CE

sudo apt install docker-ce

7.启动Docker并设置开机启动

sudo systemctl start docker
sudo systemctl enable docker

8.验证Docker安装

验证Docker是否成功安装并运行:

sudo docker --version

9.(若要让非root用户可以运行Docker命令)可以将用户添加到docker组:

sudo usermod -aG docker ${USER}

这一步需要重启系统才能生效,不然会显示没有权限

二.测试

1.docker run hello-world

我的服务器显示了如下内容

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete 
Digest: sha256:4f53e2564790c8e7856ec08e384732aa38dc43c52f02952483e3f003afbf23db
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

2.docker run -it ubuntu bash

docker run -it ubuntu bash

这将会启动一个基于Ubuntu的容器,并给一个bash shell,可以在容器内部进行操作。输入exit可以退出。

3.sudo docker run -d -p 80:80 --name mynginx nginx

sudo docker run -d -p 80:80 --name mynginx nginx

如何查看效果

  • 可以通过Web浏览器访问

    • 由于已经将容器的80端口映射到主机的80端口,只需在浏览器的地址栏输入服务器的IP地址,即可访问到Nginx的默认欢迎页面。
    • 如果是在本地计算机上操作的,那么直接访问 http://localhost 就可以了。如果是远程服务器,使用该服务器的IP地址,例如 http://your_server_ip。(安全组要开放才能打开)
  • 使用curl命令

    • 从命令行,您可以使用curl命令来获取Nginx的默认页面内容:
    • curl http://localhost
      这应该会显示Nginx的默认欢迎页面的HTML内容,如下图
      在这里插入图片描述

三.如何查看上面测试的容器

1.查看正在运行的容器:

/$ sudo docker ps

2.查看正在运行的容器:

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
579ee93b319f   nginx     "/docker-entrypoint.…"   10 minutes ago   Up 10 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
/$ sudo docker ps -a
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS                      PORTS                               NAMES
579ee93b319f   nginx         "/docker-entrypoint.…"   9 minutes ago    Up 9 minutes                0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
f260a7d0df2a   ubuntu        "bash"                   32 minutes ago   Exited (0) 31 minutes ago                                       eager_roentgen
5b1d541d529d   hello-world   "/hello"                 33 minutes ago   Exited (0) 33 minutes ago                                       frosty_shaw

3.仅查看容器名称

上面两条命令会列出容器的ID、创建时间、状态、端口映射等信息,下面这个可以只查看容器名称

sudo docker ps -a --format "{{.Names}}"

四.如何停止容器

  • 停止容器:
    使用docker stop命令停止容器。

    sudo docker stop mynginx
    

在这里插入图片描述

  • 删除容器:

    如果只是想暂时停止容器,那么第一步就足够了

    sudo docker rm mynginx
    

如果想运行一个Nginx容器,需要重新使用docker run命令。但由于您之前已经下载了Nginx镜像,所以这次启动容器时不再需要下载镜像。

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

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

相关文章

【广州华锐互动】马属直肠检查3D虚拟仿真课件

随着科技的发展,医疗行业也在不断地进行创新。其中,广州华锐互动开发的马属直肠检查3D虚拟仿真课件,为医学教育和实践操作带来了新的可能性。它不仅可以帮助医生提高诊断准确率,还可以让医学生在没有真实病人的情况下进行实践操作…

admin后台管理

admin后台管理 django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用 django 会搜集所有已注册的模型类,为这些模型类提拱数据管理界面,供开发者使用 admin配置步骤 创建后台管理帐号- 该账号为管理后台最高权限账号…

删除表中的数据

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法格式: delete from 表名 where 记录匹配条件; 说明:如果**不写where**子句,表示无条件,删除表中的**所有记…

9月25日星期一,今日早报简报微语报早读

9月25日,星期一,早报简报微语早读分享。 1、祝贺中国队!开幕首日中国队20金7银3铜,共计30枚奖牌,位列奖牌榜第一名; 2、NBL深蓝官宣:陕西罢赛遭重罚 罚款100万取消评奖资格; 3、中…

NPDP是什么?考了有用吗?

1)NPDP是什么? NPDP,全称为New Product Development Professional,即新产品开发专业人员。NPDP认证是由世界产品开发协会(PDMA)推出的一项专业认证。它旨在评估和认可个人在新产品开发领域的专业知识和技能…

github代码提交过程详细介绍

1、下载github上面的代码 (1)在github网站上,找到想要下载的代码仓库界面,点击Code选项就可以看到仓库的git下载地址; (2)使用命令下载:git clone 地址; 2、配置本地git…

基于YOLOv8模型的垃圾满溢检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型的垃圾满溢检测系统可用于日常生活中检测与定位车辆垃圾(garbage)、垃圾桶(garbage_bin)和垃圾满溢(overflow)目标,利用深度学习算法可实现图片、视频、摄像头等…

离散小波变换(概念与应用)

目录 概念光伏功率预测中,如何用离散小波变换提取高频特征概念 为您简单地绘制一些示意图来描述离散小波变换的基本概念。但请注意,这只是一个简化的示意图,可能不能完全捕捉到所有的细节和特性。 首先,我将为您绘制一个简单的小波函数和尺度函数的图像。然后,我会提供一…

oracle 根据分号分割为多个列

oracle 没有split 函数,因此没法直接使用,但是时间上会遇到需要分割的时候,可以使用正则表达式 SELECT REGEXP_SUBSTR(administration, [^;], 1, 1) AS SKILL1, REGEXP_SUBSTR(administration, [^;], 1, 2) AS SKILL2, REGEXP_SUBSTR(admini…

php万能表单系统源码 支持自定义+收费表单活动报名 适合多行业

在众多的表单系统中,PHP万能表单系统因其灵活性和可扩展性备受开发者的青睐。PHP万能表单系统是一款基于PHP语言的表单生成器,它可以帮助开发者快速生成各种类型的表单,如注册、登录、留言等。下面给大家分享一款php万能表单系统源码&#xf…

Android12之仿Codec2.0实现传递编解码器组件本质(四十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

2023-9-25 耍杂技的牛

题目链接&#xff1a;耍杂技的牛 #include <iostream> #include <algorithm>using namespace std;typedef pair<int, int> PII;const int N 50010;int n; PII cow[N];int main() {cin >> n;for(int i 0; i < n; i ){int w, s;cin >> w >…

概率密度函数、分布函数、随机变量、概率函数=概率分布

概率密度函数&#xff1a; 长方形的面积组距*概率/组距&#xff0c;所有长方形之和1 当组距为无穷小的时候&#xff0c;就会生成上图的曲线&#xff0c;曲线的面积为1&#xff0c;而蓝色曲线本身是概率密度函数&#xff0c;可以写作f(x)。 分布函数&#xff1a; 将曲线进行积…

巨人互动|Google海外户Google SEO的技术要素

Google SEO&#xff08;Search Engine Optimization&#xff09;是指通过对网站进行优化&#xff0c;使其在Google搜索引擎中的排名获得提升的一系列技术和策略。随着互联网的快速发展和用户对搜索引擎的依赖程度不断增加&#xff0c;优化网站在搜索引擎中的可见性&#xff0c;…

UNet简单介绍

UNet简单介绍 语义分割&#xff08;Semantic Segmentation&#xff09;是计算机视觉领域的一项基础任务&#xff0c;旨在将图像中的每个像素分配到特定的语义类别中&#xff0c;即对图像中的每个像素进行分类&#xff0c;从而实现对图像像素级别的理解和分析。与图像分类任务不…

12大常用自动化测试工具,请记得转发收藏!

常用自动化测试工具 1、Appium AppUI自动化测试 Appium 是一个移动端自动化测试开源工具&#xff0c;支持iOS 和Android 平台&#xff0c;支持Python、Java 等语言&#xff0c;即同一套Java 或Python 脚本可以同时运行在iOS 和Android平台&#xff0c;Appium 是一个C/S 架构&…

JUC第九讲:类汇总和学习指南

JUC第九讲&#xff1a;类汇总和学习指南 本文是JUC第九讲&#xff0c;对JUC进行知识体系解读&#xff0c;后续的文章还针对几乎所有的核心的类以及常用的工具类作了详细的解读; 本文站在一定的高度了解JUC下包的设计和实现&#xff1b;同时对重要的章节提供跳转链接。 文章目录…

DSOMEIP丢数据问题分析和总结:

&#xff08;1&#xff09;问题现象 无论使用arm64硬件、x86 ubuntu电脑、ubuntu docker哪种组合进行DSOMEIP event通信&#xff0c;接收端都会在event payload长度增加到一定程度时udp方式出现丢数据现象。 总体上arm64硬件略优于x86 ubuntu电脑&#xff0c;x86 ubuntu电脑略优…

怎么去营造地中海风格?进来来看看吧

什么是地中海风格&#xff1f; 地中海风格是一种受地中海沿岸住宅建筑和美学影响的装饰风格。西班牙、希腊和摩洛哥等国的文化对地中海风格产生了影响。 简约是地中海生活的主要部分。地中海气候宜人&#xff0c;人们的生活态度闲适&#xff0c;这一点在色彩、设计、材料和图案…

使用python的matplotlib 画柱状图

样式一&#xff1a; import numpy as np import matplotlib.pyplot as plt# 设置字体 plt.rcParams[font.sans-serif] [Times New Roman]# Define data and error values precision_data [0.349209635, 0.270397704, 0.297925, 0.4826985, 0.4273875,0.304880102,0.2752492…