腾讯云centos上安装docker

下面的操作是在root用户下操作的,如果非root用户在命令行前加上sudo 

1. 系统及内核查看

  • 操作系统:64位的CentOS 7或更新版本。
  • 内核版本:最低要求是3.10,推荐使用3.10或更高版本。
    #查看内核版本
(base) [klfwjfwea@VM-0-6-centos ~]$ uname -r
3.10.0-1160.24.1.el7.x86_64#查看系统版本
(base) [klfwjfwea@VM-0-6-centos ~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)#查看系统架构    
(base) [klfwjfwea@VM-0-6-centos ~]$ uname -m
x86_64

 2. 卸载旧版本

不确定是否安装过docker也可以执行,卸载时会提升找不到相应的包,如下所示:

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

# yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine
Loaded plugins: fastestmirror
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
No Packages marked for removal

卸载Docker软件包并不会自动删除与Docker相关的所有数据。特别是以下数据不会被删除:

  • 镜像(images)
  • 容器(containers)
  • (volumes)
  • 网络(networks)

这些数据存储在 /var/lib/docker/ 目录中。如果你希望完全删除所有Docker相关的数据,你需要手动删除这个目录:

rm -rf /var/lib/docker

注意:删除此目录会永久删除所有Docker镜像、容器、卷和网络。请确保你已经备份了需要保留的数据。

3. 更新系统,安装依赖包

更新系统

yum update -y

安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

设置官方仓库

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果因为网络问题无法访问可以使用阿里的镜像

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

4. 安装docker及其插件

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动docker

systemctl start docker

设置docker开机启动(非必须)

systemctl enable docker

关闭docker

systemctl stop docker

重启docker

#更改配置文件时需要使用下面两条命令systemctl daemon-reload
systemctl restart docker#只是简单的重启不涉及到配置改变直接使用下面的命令即可
systemctl restart docker

查看docker状态

systemctl status docker

重启时什么时候需要使用 daemon-reload

  • 当你修改了Docker的配置文件(例如 /etc/docker/daemon.json)时。
  • 当你修改了任何与systemd服务相关的配置文件时。

5. 使用腾讯云Docker镜像源加速

编辑或者新建配置文件: /etc/docker/daemon.json 添加下面的内容

vi /etc/docker/daemon.json

{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}

重启docker即可

systemctl daemon-reload
systemctl restart docker

查看镜像源是否安装成功

docker info

 可以看到下面的提示说明配置成功

6. 验证docker是否安装成功

使用hello-world镜像创建一个示例来验证

docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete 
Digest: sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd
Status: Downloaded newer image for hello-world:latest

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

 7. docker常用命令

docker常用命令根据其使用流程,使用镜像创建容器(实例),这里可以分为两大类镜像相关和容器(实例)相关,暂时只用到这些知识,后序再补充

镜像和容器的操作都可以使用id和name,因为name在当前主机上也是唯一的

 镜像相关

1. 列出所有镜像
docker images
2. 搜索镜像
docker search IMAGE_NAME
3. 拉取镜像
docker pull IMAGE_NAME

拉取镜像时如果不指定标签默认拉取最新的镜像,如果需要指定版本可以在镜像名后加上:版本号

docker pull ubuntu:latest 拉取最新的镜像可以省略 :latest

docker pull ubuntu:20.04 拉取指定版本,拉取 ubuntu 的 20.04 版本

 如果你想查看某个镜像的所有可用标签,可以访问Docker Hub上的该镜像页面。例如,访问 Ubuntu镜像页面 可以查看所有可用的标签和版本。

4. 删除镜像
docker rmi IMAGE_ID
5. 删除所有未使用的镜像
docker rmi $(docker images -q)

容器相关

1. 创建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

示例

运行一个ubuntu镜像并进入交互式终端:

docker run -it ubuntu /bin/bash

主要选项(OPTIONS)

  • -d:以守护进程模式运行容器(在后台运行)。
  • -it:结合使用-i(交互式)和-t(伪终端)选项,使容器能够交互。
  • --name:为容器指定一个名称。
  • -p:指定端口映射,例如-p 8080:80
  • -v:挂载一个主机目录或卷到容器中,例如-v /host/path:/container/path
  • --rm:容器停止后自动删除容器。

示例命令

  1. 运行并进入交互式终端

    docker run -it ubuntu /bin/bash
  2. 以守护进程模式运行一个容器

    docker run -d --name mycontainer ubuntu sleep 1000

    后台守护进程主要用户后台长期运行的服务,比如mysql等,如果容器中运行的程序结束,那么容器也会结束运行.所以后台启动docker容器适合运行长期后台运行的服务.
     

  3. 运行一个带端口映射的容器

    docker run -d -p 8080:80 nginx

    命令将主机(服务器)的8080端口映射到容器的80端口。具体来说,这意味着:
    -d:以守护进程模式(后台)运行容器。
    -p 8080:80:将主机的8080端口映射到容器的80端口。主机上的任何访问8080端口的请求都会被转发到容器的80端口。

    这样,主机上的http://localhost:8080http://YOUR_HOST_IP:8080 将被转发到容器中的Nginx服务器的80端口。

  4. 挂载主机目录到容器

    docker run -d -v /host/data:/data myimage
2. 列出所有容器
docker ps -a

docker ps会列出正在运行的程序加上 -a会列出所有容器

3. 停止运行中的容器
docker stop CONTAINER_ID
4. 启动已经停止的容器
docker start CONTAINER_ID

docker start 命令在后台守护模式启动容器,不提供交互式终端,要进入容器的交互式终端,可以使用 docker exec -it CONTAINER_ID /bin/bash 参考下面的第 6条

5. 删除一个容器
docker rm CONTAINER_ID

 docker rm删除容器docker rmi 删除镜像,后面的i就是镜像image缩写

6. 进入运行中的容器
docker exec -it CONTAINER_ID /bin/bash
7. 查看容器日志
docker logs CONTAINER_ID
 8. 重启容器
docker restart CONTAINER_ID
 9. 查看容器的资源占用情况
docker stats CONTAINER_ID
10. 查看容器的详细信息
docker inspect CONTAINER_ID
11. 停止所有运行中的容器
docker stop $(docker ps -q)
12. 删除所有容器
docker rm $(docker ps -a -q)

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

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

相关文章

ARM服务器在云手机中可以提供哪些支持

ARM服务器作为云手机的底层支撑,在很多社媒APP或者电商APP平台都有着很多看不见的功劳,可以说ARM扮演着至关重要的底层支持角色; 首先,ARM 服务器为云手机提供了强大的计算能力基础。云手机需要处理大量的数据和复杂的运算&#x…

uniapp自定义的下面导航

uniapp自定义的下面导航 看看效果图片吧 文章目录 uniapp自定义的下面导航 看看效果图片吧 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6aa0e964741d4dd3a58f4e86c4bf3247.png) 前言一、写组件、我这里就没有写组件了直接写了一个页面?总结 前言 在…

一文掌握Vue3:深度解读Vue3新特性、Vue2与Vue3核心差异以及Vue2到Vue3转型迭代迁移重点梳理与实战

每次技术革新均推动着应用性能与开发体验的提升。Vue3 的迭代进步体现在性能优化、API重构与增强型TypeScript支持等方面,从而实现更高效开发、更优运行表现,促使升级成为保持竞争力与跟进现代前端趋势的必然选择。本文深度解读Vue3 响应式数据data、生命…

Java Web学习笔记27——对话框、表单组件

常见组件对话框: Dialog对话框:在保留当前页面状态下,告知用户并承载相关操作。 dialogTableVisible: false 默认是不可见的。 在按钮属性中设置为true的意思,点击按钮的时候,才会true,对话框才会显示。 …

idm2024最新完美破解版免费下载 idm绿色直装版注册机免费分享 idm永久激活码工具

IDM 2024破解版重新开发了调度程序和MMS协议支持、重新设计和增强的下载引擎、与所有最新浏览器的独特高级集成、改进的工具栏以及大量其他改进和新功能,这一全新的更新,使得IDM下载器更加完美。值得一提的是,它可以借助油猴浏览器的脚本&…

Linux编译器-gcc或g++的使用

一.安装gcc/g 在linux中是不会自带gcc/g的,我们需要编译程序就自己需要安装gcc/g。 很简单我们使用简单的命令安装gcc:sudo yum install -y gcc。 g安装:sudo yum install -y gcc-c。 我们知道Windows上区分文件,都是使用文件…

ssm610学生社团管理系统+vue【已测试】

前言:👩‍💻 计算机行业的同仁们,大家好!作为专注于Java领域多年的开发者,我非常理解实践案例的重要性。以下是一些我认为有助于提升你们技能的资源: 👩‍💻 SpringBoot…

小熊家务帮day15-day17 预约下单模块(预约下单,熔断降级,支付功能,退款功能)

目录 1 预约下单1.1 需求分析1.1.1 业务流程1.1.2 订单状态 1.2 系统设计1.2.1 订单表设计1.2.2 表结构的设置 1.3 开发远程调用接口1.3.0 复习下远程调用的开发1.3.1 查询地址簿远程接口jzo2o-api工程定义接口Customer服务实现接口 1.3.2 查询服务&服务项远程接口jzo2o-ap…

运维 之 DNS域名解析

前言 我们每天打开的网站,他是如何来解析,并且我们怎么能得到网站的内容反馈的界面呢?那什么是DNS呢(DNS(DomainNameservice,域名服务,主要用于因特网上作为域名和IP地址相互映射)那…

【iOS】MRC下的单例模式批量创建单例

单例模式的介绍和ARC下的单例请见这篇:【iOS】单例模式 目录 关闭ARC环境MRC下的单例ARC下的单例批量创建单例Demo 关闭ARC环境 首先关闭ARC环境,即打开MRC: 或是指定某特定目标文件为非ARC环境: 双击某个类文件,指定…

SpringBoot2+Vue3开发课程审核流程系统

SpringBoot2Vue3开发课程审核流程系统 简介 此系统实现了课程审核全流程功能并使用了Activiti7工作流技术,功能包含:课程管理、用户管理、流程定义、课程审核(我的申请、我的代办、我的已办) 功能介绍 课程管理 对课程信息的管…

C++的STL 中 set.map multiset.multimap 学习使用详细讲解(含配套OJ题练习使用详细解答)

目录 一、set 1.set的介绍 2.set的使用 2.1 set的模板参数列表 2.2 set的构造 2.3 set的迭代器 2.4 set的容量 2.5 set的修改操作 2.6 set的使用举例 二、map 1.map的介绍 2.map的使用 2.1 map的模板参数说明 2.2 map的构造 2.3 map的迭代器 2.4 map的容量与元…

API测试工具

apifox 微信扫描登录 不推荐: Download Postman

QT creator c动态链接库的创建与调用

QT creator c动态链接库的创建与调用 QT5.15.2 1.创建dll项目 确保两类型选择正确 2.选择MinGW 64-bit 3.点击完成 pro文件参考: QT - guiTEMPLATE lib DEFINES QT_DLL_DEMO_LIBRARYCONFIG c17# You can make your code fail to compile if it uses deprecat…

Flutter 使用ffigen生成ffmpeg的dart接口

Flutter视频渲染系列 第一章 Android使用Texture渲染视频 第二章 Windows使用Texture渲染视频 第三章 Linux使用Texture渲染视频 第四章 全平台FFICustomPainter渲染视频 第五章 Windows使用Native窗口渲染视频 第六章 桌面端使用texture_rgba_renderer渲染视频 第七章 使用ff…

以sqlilabs靶场为例,讲解SQL注入攻击原理【54-65关】

【Less-54】 与前面的题目不同是,这里只能提交10次,一旦提交超过十次,数据会重新刷新,所有的步骤需要重来一次。 解题步骤: 根据测试,使用的是单引号闭合。 # 判断字段的数量 ?id1 order by 3 -- aaa# …

.NET MAUI 了解MVVM

MVVM 模式中有三个核心组件:模型、视图和视图模型。 每个组件的用途不同。 下图显示了这三个组件之间的关系。 视图 视图负责定义用户在屏幕上看到的结构、布局和外观。 理想情况下,每个视图在 XAML 中定义,代码隐藏有限,不包含业…

(论文翻译)Coordinate Attention for Efficient Mobile Network Design(坐标注意力 CVPR2021)

Coordinate Attention for Efficient Mobile Network Design(CVPR2021) 文章目录 Coordinate Attention for Efficient Mobile Network Design(CVPR2021)摘要1.引言2.相关工作3.方法:Coordinate Attention3.1.Revisit …

RHEL8/Centos8 install for PXE

PXE介绍 PXE(Preboot Execution Environment)是预引导执行环境的缩写。它是由Intel设计的,允许客户端计算机通过网络从服务器上加载操作系统镜像。PXE通常用于大规模部署操作系统,例如在企业或学校环境中。 PXE工作流程如下&…

C++ | Leetcode C++题解之第139题单词拆分

题目&#xff1a; 题解&#xff1a; class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {auto wordDictSet unordered_set <string> ();for (auto word: wordDict) {wordDictSet.insert(word);}auto dp vector <bool> (s.…