Docker安装使用–Centos

前言

学习路径为B站狂神老师。

Docker安装使用

安装步骤

卸载旧版本

如果从未安装过可以省略此步骤

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

如果确实安装过并且上述步骤没有效果的话用以下步骤

yum list installed | grep docker
#查询到确实有docker的相关内容 按照名字进行remove
yum remove $(yum list installed | grep docker)
#该步骤作用为删除所有yum包中与docker相关的内容

安装utils

sudo yum install -y yum-utils

Docker安装使用--Centos

配置utils的存储库

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

Docker安装使用--Centos

安装Docker

最新版本的Docker Engine 、container 和 Docker Compose plugin

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

Docker安装使用--Centos
Docker安装使用--Centos

这里的docker compose 已经安装可以直接使用 命令如下 docker compose up -d

安装指定版本Docker

列出当前系统可用的版本

yum list docker-ce --showduplicates | sort -r

Docker安装使用--Centos

版本号为第一个冒号到第一个 - 之间的内容

sudo yum install docker-ce- docker-ce-cli- containerd.io docker-compose-plugin
#如docker-ce-20.10.9

验证安装

docker info
docker version

只要没报错就是安装成功了

至此Docker的安装已经完毕,附上官网的安装手册地址。

官网安装说明

官网地址
在左侧栏目选择使用的对应运行环境。

Docker安装使用--Centos

阿里云镜像加速

由于 docker hub是国外的网站访问会比较慢因此可以配置阿里云镜像加速进行加速

登录阿里云 在产品中搜索 容器镜像服务ACR–>管理控制台–>左侧镜像工具–>镜像加速器

Docker安装使用--Centos

Docker使用

包括帮助命令、镜像命令、容器命令其他常用命令。

帮助命令

docker version #版本信息
docker info #docker的系统信息
docker 命令 --help #万能命令

镜像命令

docker images

官方说明

  -a, --all             Show all images (default hides intermediate images)显示所有图像(默认隐藏中间图像)
      --digests         Show digests显示摘要
  -f, --filter filter   Filter output based on conditions provided 根据提供的条件过滤输出
      --format string   Pretty-print images using a Go template 使用Go模板打印漂亮的图像
      --no-trunc        Don't truncate output 不截断输出
  -q, --quiet           Only show image IDs  只显示图像id

docker search

官方说明

  -f, --filter filter   Filter output based on conditions provided 根据提供的条件过滤输出
      --format string   Pretty-print search using a Go template 根据规定的格式进行对搜索结果打印
      --limit int       Max number of search results (default 25) 最大搜索结果数(默认25)
      --no-trunc        Don't truncate output 不截断输出

docker pull

官方说明

Options:
  -a, --all-tags                Download all tagged images in the repository下载存储库中所有带标记的图像
      --disable-content-trust   Skip image verification (default true) 跳过图像验证(默认为true)
      --platform string         Set platform if server is multi-platform capable 如果服务器支持多平台,请设置平台
  -q, --quiet                   Suppress verbose output 抑制详细输出

docker rmi

官方说明

Options:
  -f, --force      Force removal of the image 强制移除图像
      --no-prune   Do not delete untagged parents  不要删除未标记的父节点

docker rmi -f $(docker images -aq)  #括号内为传递的参数 也就是获取的所有镜像的id值
docker rmi -f 镜像id  镜像id  #可以删除一个,也可以删除多个,要删除多个镜像id之间用空格隔开

容器命令

容器是通过镜像创建的,有镜像才能创建容器。容器和镜像的关系相当于模具和模型之间的关系。

拉取镜像
docker pull 目标镜像 (更多操作 参见镜像命令 )

启动容器

docker run (官方说明

docker run [可选参数] [启动的容器]
#参数说明
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;

列出容器列表

docker ps (官方说明)

docker ps #列出正在运行的容器
docker ps -a   #列出所有创建的容器
docker ps -a -n=1  #显示最近创建的容器 显示一个
docker ps -q #只显示容器的编号

退出容器

exit #直接停止容器并退出
Ctrl +p + Q #退出容器,不停止容器运行

删除容器

docker rm 容器id  #不能删除正在运行的容器 如果要删除 要加-f参数
docker rm -f $(docker ps -aq) #递归删除所有的容器
docker ps -a -q |xargs docker rm

启动和停止容器的操作

docker start 容器id  #启动容器
docker restart 容器id #重启容器
docker stop  容器id  # 停止当前正在运行的容器
docker kill 容器id  #强制停止当前容器

常用的其他命令

查看日志

docker logs -f -t --tail 10 容器id  显示容器id运行的最近十条日志
docker logs -f -t  容器id  显示容器id运行的所有日志

查看容器中进程信息

docker top 容器id

查看镜像源数据

docker inspect 容器id

进入当前正在运行的容器

#容器通常使用后台方式运行
#命令
docker exec -it 容器id /bin/bash  #进入容器后开启新的终端
or
docker attach 容器id  #进入容器正在执行的终端  不会启动新的进程

容器id可以不用全写,开启容器的时候如果定义了容器名称,也可以使用容器名称进入

从容器内拷贝文件到主机上

将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。

docker cp  96f7f14e99ab:/www /tmp/

后期在更新DockerFile、容器卷挂载、docker-compose使用。

Original: https://www.cnblogs.com/KS192/p/16221598.html
Author: KS192
Title: Docker安装使用–Centos

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582796/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 1s 创建100G文件,最快的方法是?

    在我们日常工作中,为了验证开发的功能,比如:文件上传功能或者算法的处理效率等,经常需要一些大文件进行测试,有时在四处找了一顿之后,发现竟然没有一个合适的,虽然 Linux 中也有一…

    Linux 2023年5月27日
    091
  • LeetCode_29. 两数相除Divide Two Integers|商的二进制表示与除数的关系

    Problem description Given two integers: dividend and divisor, return dividend/divisor with…

    Linux 2023年6月13日
    077
  • Redis使用Swap,但系统可用内存充足

    最近生产环境遇到一个很奇怪的问题,系统内存32G,redis使用8G左右,剩余的内存都被系统cache使用,从表面上看系统可用内存有20G左右。但是系统运行过程中,redis时不时…

    Linux 2023年6月14日
    096
  • apk自签证书

    需要用到keytool.exe (位于D:\Program Files\Java\jdk1.8.0_291\jre\bin目录下),使用产生的key对apk签名用到的是jarsig…

    Linux 2023年6月8日
    0104
  • 保罗·艾伦的故事

    上周,保罗·艾伦逝世。《财新周刊》约我写一篇纪念文章,发表在他们杂志上面 一些个人新闻:最近,我了解到我在2009年与之抗争的非霍奇金淋巴瘤已经复发。我已经开始治疗,我的医生很乐观…

    Linux 2023年6月14日
    0112
  • 在linux里部署OA项目环境

    1.首先要实现linux可以从windows系统里把文件拖到linux里 ①挂载光盘 [root@localhost ~]# mkdir /mnt/cdrom //创建挂载点 [r…

    Linux 2023年6月13日
    0123
  • linux用户身份与文件权限

    tips:可以将安装好的系统设置为一次快照,这样即便系统彻底崩溃了,也可以在5秒的时间内快速还原出一台全新的系统,而不用担心数据丢失 1、用户身份和能力 Linux系统的管理员之所…

    Linux 2023年5月27日
    092
  • 关于启动Docker容器的错误:OCI runtime create failed: container with id exists

    此笔记记载了本人在使用centos7.6环境下docker启动容器时遇到的 OCI runtime create failed: container with id exists:…

    Linux 2023年6月14日
    0102
  • Redis处理高并发 加锁

    在程序开发过程中,通常会遇到需要独占式的访问一些资源的情形,比如商品秒杀时扣减库存。这时就需要对资源加锁。实现锁的方式有很多,比如数据库锁、文件锁等等。本文简单介绍PHP中使用re…

    Linux 2023年5月28日
    087
  • 操作系统之虚拟内存总结

    前言 操作系统为每个进程提供了一个假象:它拥有属于自己的大量的私有内存,可以有巨大的连续地址空间放入自己的代码和数据。用户程序中访问的地址都是虚拟地址,需要经过操作系统和硬件的协同…

    Linux 2023年6月7日
    0145
  • JavaScript DOM操作(二)

    上机二 JavaScript DOM操作 目的: 熟练掌握JavaScript的文档对象模型DOM概念,以及各种节点类型和节点操作。 重点掌握元素节点的各种操作方法。 要求: 实现…

    Linux 2023年6月13日
    0102
  • requests模块

    掌握 headers参数的使用 掌握 发送带参数的请求 掌握 headers中携带cookie 掌握 cookies参数的使用 掌握 cookieJar的转换方法 掌握 超时参数t…

    Linux 2023年6月8日
    0123
  • MySql集群之读写分离配置

    一、主从复制原理 二、环境准备 192.168.140.131 主库 192.168.140.132 从库 三、主库配置 1、修改配置文件 /etc/my.cnf #mysql服务…

    Linux 2023年6月14日
    092
  • 从前端走向后端

    每次过年回老家聚会,遇到不熟悉的亲戚朋友,经常被问到职业是什么。一开始,我总是很认真的回答这个问题,结果常常引出一番尴尬的问答。 “你&…

    Linux 2023年6月6日
    0102
  • 最新超详细VMware下CentOS系统安装

    一、了解CentOS系统 CentOS是免费的、开源的、可以重新分发的开源操作系统,CentOS(Community Enterprise Operating System,中文意…

    Linux 2023年6月15日
    0139
  • Linux高可用之Keepalived

    注意: 各节点时间必须同步 确保各节点的用于集群服务的接口支持MULTICAST通信(组播); 安装 从CentOS 6.4开始keepalived随系统base仓库提供,可以使用…

    Linux 2023年5月27日
    0139
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球