腾讯云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

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.mzph.cn/news/848043.shtml

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

相关文章

rk3568定时器

前言 本文记录的是用rk3568开发板做定时器实验 1 定时器理论知识 1.1系统节拍 在linux的kernel路径中,输入: make ARCH=arm64 menuconfig // 在内核路径下执行打开配置界面 选中“Timer frequency”,打开以后如图所示: 从图 14.1.1.1 可以看出,可选的系统节拍率为 100…

对i += i -i和i = i - 1的理解

i i & -i迭代的结果是每次加i的最低次,直到加到与i最近的2的次幂。 比如,初始i是65,迭代的i的值如下:66, 68, 72, 80, 96,128, 256, 512 ..…

派派派森03

1.JSON数据 Python数据和Json数据的相互转化 # 导入json模块 import json#准备符合json格式要求的python数据 data [{"name": "老王", "age": 16}, {"name": "张三", "age": 20}]# 通过json.dump(data)方法把pyt…

配置无密码 sudo

配置无密码 sudo 需要谨慎操作,因为这会给你的系统安全带来一定的风险。在决定这么做之前,请确保你了解潜在的安全后果。以下是具体操作步骤: 步骤1: 使用 visudo 编辑 sudoers 文件 visudo 是一个命令行工具,它用于安全地编辑 …

黑龙江等保测评有哪些内容?

与等保1.0相比,新的等保2.0版本有了很大的变化,评估的内容、评估的标准也有了很大的差异。那么新版的《等保2.0》实施后,我们要测试什么? 等保测评首先是有十个大项,安全物理环境,安全区域边界,…

(echarts)图上数值显示单位

(echarts)图上数值显示单位 series: [{name: 比例,type: bar,...label: {show: true,position: top,formatter: (params) > params.value % //图上数值显示格式},tooltip: { //鼠标移入图上数值显示格式valueFormatter: function(value) {return val…

mysql解决深度分页的问题

limit深分页为什么会变慢? 例如:一条sql: select id,name,age, from user where age >10 limit (10000,10); 首先这条sql肯定是比较慢的,因为它经过了很多次的回表。 sql执行流程: 1:先通过普通索引…

Ant-Design-Vue 动态表头并填充数据

在现代前端开发中,动态表格是一个常见需求,尤其是在处理大量数据和需要灵活展示时。Ant-Design-Vue 作为一个基于 Vue 的 UI 组件库,提供了强大的表格组件 a-table,使得实现动态表头和数据填充变得简单高效。本文将详细介绍如何使…

数据分析------统计学知识点(三)

相关性分析 1.趋势分析与散点图 散点图可帮助我们发现和理解变量间的关系,可直观观察是否有相关性。 (1)散点图定义及组成要素 散点图是一种以点的形式在直角坐标系上表示两个数值变量间关系的图表 横坐标(x轴)&a…

SQL小白10分钟快速入门

SQL(Structured Query Language)是一种用于管理关系型数据库的标准化编程语言。以下是SQL的入门基础教程,涵盖了一些基本概念和常用操作。 1. 数据库和表 数据库(Database):一个存储数据的容器。表&#…

【JavaScript脚本宇宙】领先的静态网站构建工具:全面对比

静态站点生成器大解析:找出哪一款最适合你 前言 本文将探讨六种不同的静态站点生成器和React框架,包括Gatsby,Next.js,Jekyll,Hugo,Hexo和Eleventy。这些工具各有特色,提供了丰富的功能和使用…

PEI转染试剂如何保存呢?

转染试剂是瞬时转染生产病毒载体的主要原材料之一。作为上游病毒生产的重要原物料之一,转染试剂对病毒载体的产能具有重要影响。而转染试剂的转染效率、稳定性都直接影响着大规模病毒载体生产的产能与周期。因此,了解PEI转染试剂正确的保存方法对于保障实…

实现k8s网络互通

前言 不管是docker还是k8s都会在物理机组件虚拟局域网,只不过是它们实现的目标不同。 docker:针对同一个物理机(宿主机) k8s:针对的是多台物理机(宿主机) Docker 虚拟局域网 K8S虚拟局域网 …

net::ERR_INCOMPLETE_CHUNKED_ENCODING 200

首先了解 proxy_buffers 是Nginx中用于配置代理服务器响应的缓冲区大小的指令,它对于优化Nginx服务器性能以及提升用户体验至关重要。通过合理设置proxy_buffers及其相关参数,可以有效地管理服务器资源,提高处理请求的效率,减少数…

借鉴与创新 台湾Apex齿轮减速机PII系列

台湾Apex Dynamics公司以其卓越的减速机技术,长期在全球机械传动领域占据着重要的地位。其中,齿轮减速机PII系列作为齿轮箱Apex基线的新成员,更是凭借其独特的性能和设计受到了广泛的应用。 APEX齿轮减速机PII系列在重量,尺寸&…

CANoe仿真工程Switch控件关联dbc信号出现的问题及解决思路

小白学习CANoe仿真,参考CANoe-第2个仿真工程-XVehicle—1总线数据库设计(思路)_canoe vehicle-CSDN博客 CANoe-第2个仿真工程-XVehicle1总线数据库设计(操作)_canoe factor 参数什么意思-CSDN博客CANoe-第2个仿真工程…

【计算机网络】对应用层HTTP协议的重点知识的总结

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

mysql服务默认仅允许本机访问,其他计算机是无法远程连接的,如果您想远程连接mysql需要做一下操作

mysql服务默认仅允许本机访问,其他计算机是无法远程连接的,如果您想远程连接mysql需要做一下操作 打开命令行或终端,进入移动平台安装根目录,执行以下命令 windows:dbsvr\mysql\bin\mysql -P 4806 -u root -p linux&…

多语言接入淘宝API抓取淘宝数据库数据获取详情页信息评论数据等,打造个性化营销策略

在数字化时代,个性化营销已成为品牌与消费者建立联系的关键。淘宝API作为强大的工具,能够帮助商家深入挖掘消费者需求,实现精准营销。本文将探讨如何通过淘宝API提升营销效果,增强用户体验。 消费者洞察: 淘宝API提供丰…

深拷贝的实现方式

深拷贝的实现方式主要有以下几种,这些方式在处理不同的情况时各有优劣: 递归函数实现: 原理:通过递归的方式遍历对象的所有属性,如果属性是基本类型则直接复制,如果属性是引用类型 则继续递归拷贝。示例…