前言

学习路径为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

配置utils的存储库

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

安装Docker

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

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



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

安装指定版本Docker

列出当前系统可用的版本

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

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

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

验证安装

docker info
docker version

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


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


官网安装说明

官网地址

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


阿里云镜像加速

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

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

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使用。

Docker安装使用--Centos的更多相关文章

  1. docker 安装linux centos 环境

    如何在centos7中使用docker创建一个支持ssh连接的容器 以下内容已有现成的,这里借用下这哥们的帖子https://www.cnblogs.com/caidingyu/p/10642158. ...

  2. Docker 安装入门 Centos Linux安装Docker 部署mysql

    这次购买了阿里云云服务器,并且安装了Centos 7.5 学习使用Docker, 确认版本信息 Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Dock ...

  3. docker安装教程-centos

    Docker 要求CentOS 系统的内核版本在3.10以上,查看本页面的前提条件来验证你的CentOS 版本是否支持Docker . 1.通过uname -r 命令查看你当前的内核版本 uname ...

  4. Docker安装 Ubuntu Centos

    Ubuntu 安装Dokcer 1. 删除旧版本Docker安装包和依赖项 sudo apt-get remove docker docker-engine docker.io containerd ...

  5. Docker 安装流程-CentOS

    0.安装Docker Docker 分为 CE 和 EE 两大版本.CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月. Docker CE 分为 s ...

  6. docker安装 之 ---CentOS 7 系统脚本自动安装

    [使用脚本自动安装] 在测试或开发环境中Docker官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS系统上可以使用这套脚本安装: $ curl -fsSL get.docker.com - ...

  7. 使用docker安装wazuh

    使用docker安装wazuh centos下安装wazuh 官方文档: https://documentation.wazuh.com/3.9/installation-guide/installi ...

  8. Docker 安装-在centos7下安装Docker(二)

    参考docker安装的方式: http://www.runoob.com/docker/centos-docker-install.html Docker中文官网安装步骤:https://docs.d ...

  9. docker安装redis主从以及哨兵

    docker安装redis主从以及哨兵 本文使用docker在四台机器上部署一主二从三哨兵的Redis主从结构. 服务器配置 192.168.102.128 主节点 centos7.5 192.168 ...

  10. docker入门(1) Centos 7 下docker的安装

    centos 7安装docker 什么是 Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go ...

随机推荐

  1. 时间同步 ntp服务器

    目录 一. 定义 二. 项目要求 三. 部署服务端 四. 部署客户端 一. 定义 #01 简介:ntp全名 network time protocol .NTP服务器可以为其他主机提供时间校对服务 # ...

  2. C++ Qt开发:QNetworkAccessManager网络接口组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QNe ...

  3. PDF/Excel文件预览功能完整实现-java版本

    新需求 最近接到一个新的需求,说是之前直接下载的PDF文件或者是Excel文件,现在不能直接下载,需要实现在线预览功能. 前端人员拿到这个需求后,去看了一下以前的代码,以前调用的下载接口和PDF文件预 ...

  4. Python Numpy 中的打印设置函数set_printoptions

    一 概述 np.set_printoptions()用于控制Python中小数的显示精度. 二 解析 np.set_printoptions(precision=None, threshold=Non ...

  5. Kotlin/Java 读取Jar文件里的指定文件

    原文地址:Kotlin/Java 读取Jar文件里的指定文件 | Stars-One的杂货小窝 jar包本质上也是压缩文件,下面给出如何读取jar包里某个文件的源码: val jarFile = Ja ...

  6. Web服务器通信原理

    Web服务器通信原理 1.区分系统 2.DOS系统 3.IP地址 4.域名.DNS 5.端口 6.HTTP协议 7.Web容器 8.整个流程 一.区分系统 主要三个系统Windows.Linux.Ma ...

  7. day02-自己实现Mybatis底层机制-01

    自己实现Mybatis底层机制-01 主要实现:封装SqlSession到执行器+Mapper接口和Mapper.xml+MapperBean+动态代理Mapper的方法 1.Mybatis整体架构分 ...

  8. docker如何以root身份登录

    有时候我们需要进入docker容器时以root身份进入,这边汇总了两种方式如下 第一种 docker exec -it --user=root container_id /bin/bash 第二种 d ...

  9. 【Mahjong hdu 枚举】搜索枚举

    #####枚举 import java.io.*; import java.util.*; public class Main { static HashSet<String> set1; ...

  10. drf(请求和响应)

    一 请求 源码分析 from rest_framework.request import Request class Request: def __init__(self, request, pars ...