1.docker-安装及使用

news2024/11/24 11:52:02

1.安装步骤

Install Docker Engine on CentOS

1. 确定CenOS7及以上版本

cat /etc/redhat-release

2.卸载旧版本

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

3.yum安装gcc相关

yum -y install gcc

yum -y install gcc-c++

4.安装所需软件包

yum install -y yum-utils

5.设置stable镜像仓库

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

6.更新yum软件包索引

yum makecache fast

7.安装DOCKER CE

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

8.查看docker版本

docker -v
# 或
docker version

9.启动docker

# 启动之前关闭防火墙
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

# 启动docker服务 
systemctl start docker

10.测试

docker run hello-world

11.卸载

systemctl stop docker

yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

rm -rf /var/lib/docker

rm -rf /var/lib/containerd

12.配置阿里云镜像加速

前往 容器镜像服务 (aliyun.com) 进入容器镜像服务,获取自己的容器镜像服务加速地址

gva3wer54hu5retw6gshws4u

mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://你自己的.mirror.aliyuncs.com"]
}
EOF

systemctl daemon-reload

systemctl restart docker

拉取镜像会报错,出现此问题的原因为未进行身份识别 ,前往个人实例 中找到 访问凭证,先设置登录密码再执行命令

image-20230328113053676

image-20230328113540321

2.docker命令

1.帮助启动类命令

1.启动

systemctl start docker

2.停止

systemctl stop docker

3.重启

systemctl restart docker

4.查看状态

systemctl status docker

5.查看版本

docker -v
# 或
docker version

6.开机启动

systemctl enable docker

7.查看概要信息

docker info

8.查看总体帮助文档

docker --help

9.查看命令帮助文档

docker 具体命令 --help

2.镜像命令

1.列出本地主机上的镜像

  • REPOSITORY 镜像的数据源

  • TAG 镜像的标签版本号

  • IMAGE ID 镜像ID

  • CREATED 镜像创建的时间

  • SIZE 镜像大小

docker images

-a :列出本地所有的镜像(含历史映像层)
docker images -a

-q :只显示镜像ID
docker images -q

2.搜索镜像

docker search 镜像名字

# 只列举出n个镜像,默认25个
docker search 镜像名字 --limit
docker search 镜像名字 --limit n

# 查找关注度大于n的某个镜像
docker search --filter=stars=n 镜像名称     

3.拉取镜像

docker pull 某个镜像名字

# 拉取某个镜像最新版
docker pull 某个镜像名字 latest

# 镜像可能有多个TAG版本,拉取指定TAG版本镜像,没有就是最新版
docker pull 某个镜像名字:TAG

4.查看镜像/容器/数据卷所占用的空间

docker system df 

5.删除镜像

docker rmi 容器Id或容器名称

# 强制删除
docker rmi -f 容器Id或容器名称

# 同时删除多个镜像
docker rmi -f 名字/ID1 名字/ID2 名字/ID3 ...

# 删除全部镜像
docker rmi -f $( docker images -qa )

3.容器命令

1.新建+启动命令

  • –name=“容器新名字” 为容器指定一个名称;

  • -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);

  • -i:以交互模式运行容器,通常与 -t 同时使用;

  • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;启动交互式容器(前台有伪终端,等待交互);

  • -P: 随机端口映射,大写P

  • -p: 指定端口映射,小写p

xxx

# 以交互模式启动容器,交互式Shell,使用/bin/bash,要退出终端直接输入 exit
docker run -it 容器名称 /bin/bash
# -docker run -it centos /bin/bash 
# -docker run -it ubuntu /bin/bash 

# 别名
docker run -it --name=别名 容器Id或容器名称

2.列出当前所有正在运行的容器

docker ps

# 列出当前所有正在运行的容器+历史上运行过的
docker ps -a

# 显示最近创建的容器

# 显示最近n个创建的容器
docker ps -n 个数

# 静默模式,只显示容器编号
docker ps -q

4.退出容器

# 退出容器停止 
exit

# 退出容器不停止 
ctrl + P + Q
Ctrl + Shift + P + Q

5.启动已停止运行的容器

docker start 容器Id或容器名称

6.重启容器

docker restart 容器Id或容器名称

7.停止容器

docker stop 容器Id或容器名称

8.强制停止容器

docker kill 容器Id或容器名称

9.删除已停止的容器

docker rm 容器Id或容器名称

# 同时删除多个
docker rm -f $( docker ps -a -q )

10.以守护方式启动容器[后台]

docker ps查看一下启动成功与否,有的容器后台运行必须有一个前台进程,比如ubuntu,要使用命令docker run -it ubuntu,而redis则可以直接后台运行

容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就会自动退出的

docker run -d 容器Id或容器名称 [并返回容器ID]

11.查看容器日志

docker logs 容器Id

# 查看redis容器日志,参数:-f  跟踪日志输出;-t   显示时间戳;--tail  仅列出最新N条容器日志;
docker logs -f -t --tail=n 容器Id或容器名称

# 查看容器从某时间后的最新n条日志。
docker logs --since="xxxx-xx-xx" --tail=n 容器Id或容器名称

12.查看容器进程

# 所有
docker ps

# 指定
docker top 容器Id

13.查看容器详细信息

docker inspect 容器Id或容器名称

14.进入正在运行的容器并以命令行交互

# exec 是在容器中打开行的容器,可以启动新的进程,用 exit 退出不会导致容器的停止   [推荐使用]
docker exec -it 容器id /bin/bash    [或 bashShell]

# attach 直接进入容器启动命令的终端,不会启动新的进程,用 exit 会导致容器的停止
docker attach 容器id /bin/bash  [或 bashShell]

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

docker cp  容器ID:容器内路径 目的主机路径

# [root@07ea64240119] @ 后为容器ID

16.导入与导出

# 导入
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

# 导出
docker export 容器ID > 文件名.tar

17.commit编辑操作

docker commit提交一个新的容器副本使之成为一个新的镜像,类似于java反射

# 获取容器ID,运行 docker ps 查看容器ID
docker ps
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

# ubuntu安装vim
apt-get update
apt-get -y install vim

18.删除本地无用镜像

docker system prune

19.从文件载入镜像

docker load -i imageName.tar

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

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

相关文章

软件测试岗位求职避坑,今年毁约应届生的公司有这么多?….

不知不觉九月已至&#xff0c;“金三银四”招聘旺季也落入尾声&#xff0c;大学生也迎来毕业季&#xff01; 这个时候&#xff0c;应届生开始集体走向社会&#xff0c;而职场人也迎来了跳槽涨薪的好时机。 可现实的求职情况却是一片困境&#xff1a;从中小微到“大厂”&#…

ICPC SWERC 2020 K - Unique Activities(SAM记录子串第一次出现的位置 or SAM + hash)

两种做法的效率差异 做法一&#xff1a;SAM记录子串第一次结束位置 做法二&#xff1a;SAM hash 题意&#xff1a; 给定一个字符串&#xff0c;让你找到只出现过一次&#xff0c;且长度最短的子串并输出&#xff0c;如果有多个则输出最先出现的那个。 思路&#xff1a…

迷宫问题-DFS-BFS

迷宫问题迷宫问题简介BFS解决迷宫最短路径问题DFS记录迷宫路径DFS解决迷宫所有路径问题迷宫问题简介 &#x1f680;学习过算法程序设计的应该都学习过迷宫这个问题&#xff0c;迷宫问题主要设计的算法就是DFS-深度优先遍历和BFS-广度优先遍历。 &#x1f680;在一个二维数组中…

Jmeter和Testlink自动化测试框架研究与实施

摘 要 目前基于Jmeter的接口自动化测试框架&#xff0c;大多只实现脚本维护和自动调度&#xff0c;无法与Testlink进行互通&#xff0c;实现测试方案与自动化实施流程连接&#xff0c;本文基于Testlink、Jmeter、Jenkins实现&#xff1a;通过Testlink统一维护接口自动化测试用…

搭建es集群

单点es的缺点&#xff1a;1.存储数据有限&#xff1b;2.单点故障问题&#xff08;es出现故障则整个服务会直接宕机&#xff09; 解决存储数据有限&#xff1a;搭建多台es服务器实现集群 解决单点故障&#xff1a;在不同的es服务器中进行备份数据&#xff08;例&#xff1a;在…

车载测试需要有哪些知识需要学习的?

一、车载行业前景 其中的车载测试也随着国家对新能源、智能驾驶等领域的支持&#xff0c;而异常活跃&#xff0c;目前我国共有9000家自动驾驶相关企业&#xff0c;而今年从华为、中兴、大唐等通信领域的企业到以阿里、腾讯、小米等为代表的互联网企业&#xff0c;均已布局自动…

浅谈继承和发扬传统文化路径

中华民族五千年文明历史,造就了博大精深的中华传统文化。如何继承和发扬传统文化,是当代文化爱好者和工作者所关注的&#xff0c;实现这一使命,文化传承需要在以下路径上发力: 1. “微更新”路径。在传承的基础上进行融合拓展,实现内涵丰富和更新。 2. “强保护”路径。利用立…

空压机远程监控系统解决方案

一、项目背景 随着物联网各种技术快速发展,各物联网远程监测应用场景也应用而生&#xff0c;空压机是一种空气压缩和气体输送设备&#xff0c;广泛运用于矿山、机械、电子、医疗等各行业。空压机常规都是需要人在现场监测和维护,现在通过物联网技术,远程监控成为可能&#xff…

利用Msray-plus提升SEO工作效率和效果

随着互联网的不断发展和普及&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已经成为了网站推广和营销的重要手段之一。SEO的核心是通过优化网站的结构、内容和关键词等&#xff0c;提高网站在搜索引擎中的排名&#xff0c;从而吸引更多的访问量和潜在客户。然而&#xf…

多通道振弦传感器无线采集采集仪如何开始使用

多通道振弦传感器无线采集采集仪如何开始使用 开始使用 设备电源 VS208~432 可使用内置电池&#xff08;默认&#xff09;也可使用外部电池工作。 需要特别注意&#xff1a;严禁内置和外部电池&#xff08;电源&#xff09;同时使用&#xff0c;严重时会造成短路起火&#xff0…

宝塔搭建chevereto图床

前言 chevereto是一个国外开发的图床&#xff0c;使用phpnginxmysql搭建的&#xff0c;使用宝塔面板更方便搭建chevereto图床&#xff0c;chevereto有收费和免费版本 准备环境 宝塔面板&#xff0c;百度网上很多教程&#xff0c;一键安装.chevereto安装包&#xff0c;本次使…

Cadence Allegro PCB设计88问解析(二十七) 之 Allegro中dimension environment命令使用(添加及删除尺寸标注)

一个学习信号完整性仿真的layout工程师 在通常的设计中&#xff0c;一般会在outline的光绘层中添加单板或则拼版外形的尺寸大小。方便板厂人员查看&#xff0c;但是尺寸标注的添加涉及到尺寸单位、精度等&#xff0c;要根据公司的标准添加。如果需要修改尺寸的参数&#xff0c;…

nssctf web 入门(7)

这里通过nssctf的题单web安全入门来写&#xff0c;会按照题单详细解释每题。题单在NSSCTF中。 想入门ctfweb的可以看这个系列&#xff0c;之后会一直出这个题单的解析&#xff0c;题目一共有28题&#xff0c;打算写10篇。 [SWPUCTF 2021 新生赛]hardrce [SWPUCTF 2021 新生赛…

【快乐手撕LeetCode题解系列】——环形链表

【【快乐手撕LeetCode题解系列】——移除链表元素&#x1f60e;前言&#x1f64c;环形链表&#x1f64c;画图分析&#xff1a;&#x1f60d;思路分析&#xff1a;&#x1f60d;源代码分享&#xff1a;&#x1f60d;总结撒花&#x1f49e;&#x1f60e;博客昵称&#xff1a;博客…

python简单认识一下字面量并尝试编写输出字面量在控制台

首先 还是顾名思义 什么是字面量&#xff1f; 在代码中写下来的固定的值 我们称之为 字面量 python的字面量主要是以下几种 当然 前期不需要那么急 我们先熟悉 数字类型中的 整数 浮点数 和字符串类型 然后后续再慢慢扩展即可 整数呢 就相当于 我们数学中的 正整数 例如 1 10…

Compose (10/N) - 动画

一、高级别动画 1.1 简单值动画 animate***AsState 为单个值添加动画。只需要指定目标值&#xff0c;会从当前值向目标值渐变。 animateColorAsStateanimateDpAsStateanimateSizeAsStateanimateOffsetAsStateanimateRectAsState animateIntAsState animateIntOffsetAsState an…

【机会约束、鲁棒优化】机会约束和鲁棒优化研究优化【ccDCOPF】研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【数据挖掘与商务智能决策】第十章 支持向量机

1. 线性可分SVM import numpy as np import pandas as pd import matplotlib.pyplot as plt%matplotlib inline1.1 生成模拟数据 # 导入sklearn模拟二分类数据生成模块 from sklearn.datasets import make_blobs # 生成模拟二分类数据集 X, y make_blobs(n_samples150, n_f…

SIP协议之RTP负载类型(payload type)

一、RTP负载类型介绍​ 在SIP 音视频通话中&#xff0c;媒体数据是由RTP包携带的&#xff0c; RTP包中的PT字段标识了负载媒体数据的类型。如下图&#xff1a; 注&#xff1a; PT表示负载类型(Payload Type), 7 bits&#xff0c;即所传输的多媒体的类型 ​  不同的媒体编码…

Kafka消费者组和分区再均衡

应用程序使用KafkaConsumer向Kafka订阅主题&#xff0c;并从订阅的Topic上接收消息。 要想知道如何从Kafka读取消息&#xff0c;需要先了解消费者和消费者组的概念。 1、消费者和消费者组 原因&#xff1a;假设我们有一个应用程序需要从一个Kafka Topic中读取消息并验证&…