复现漏洞时,经常要复现环境,VMware还原太过麻烦,所以学习docker的基本操作也是必要的

Docker三要素-镜像、容器、仓库

操作系统:Centos7

官方教程文档

1.Docker的安装与卸载

先删除以前的docker

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

安装gcc相关

yum -y install gcc
yum -y install gcc-c++

设置存储库

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

如果报错,就换国内镜像源

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

更新yum软件包索引

yum makecache fast

安装Docker引擎

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

运行Docker

sudo systemctl start docker

运行hello-world镜像

sudo docker run hello-world

卸载docker

systemctl stop docker
sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

2.配置镜像源

打开阿里云官方->容器镜像服务->镜像工具->镜像加速器

mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["自己的加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3.Docker常用命令

3.1 帮助启动类命令

systemctl start docker    # 启动docker
systemctl stop docker # 停止docker
systemctl restart docker # 重启docker
systemctl status docker # 查看docker状态
systemctl enable docker # 开机启动
docker info # 查看docker概要信息
docker --help # 查看docker总体帮助文档
docker [command] --help # 查看docker命令帮助文档

3.2 镜像命令

docker images [options]           # 查看镜像
-a # 列出全部镜像
-q # 只列出镜像ID
docker search [options] [镜像名] # 搜索镜像
--limit N # 只列出前N个
docker pull [镜像名]:[TAG] # 下载镜像(无TAG默认latest)
docker system df # 查看镜像占用空间
docker rmi [镜像名或ID] # 删除镜像
docker rmi $(docker images -qa) # 删除所有镜像
-f # 强制删除

3.3 容器命令

docker run [options] image [command] [arg...]
--name="指定名字"
-d # 后台运行
-i # 交互模式运行
-t # 为容器重新分配一个伪输入终端,通常it一起使用
-P # 随机端口映射
-p # 指定端口映射

例:启动Ubuntu docker run -it ubuntu bash

docker ps  # 列出所有正在运行的容器实例
-a # 列出所有运行过的容器
-l # 显示最近创建的容器
-n m # 显示最近m个创建的容器
-q # 静默模式,只显示容器编号

run进入容器后停止

exit  # 退出并停止
ctrl+p+q # 退出不停止
docker start [容器名字或ID]   # 启动容器
docker restart [容器名字或ID] # 重启容器
docker stop [容器名字或ID] # 停止容器
docker kill [容器名字或ID] # 强制停止容器
docker rm [容器名字或ID] # 删除容器
-f #强制删除
docker logs [容器ID]     # 查看容器日志
docker inspect [容器ID] # 查看docker内部细节

重新进入退出的容器

docker exec -it [容器ID] bash  # exit退出后不会停止容器(推荐)
docker attach [容器ID] bash # exit退出后会导致容器停止

拷贝容器内的文件到本机

docker ps [容器ID]:[容器路径] [本机路径]

导出容器

docker export [容器ID]>[文件名].tar

导入容器

cat [文件名].tar | docker import - [镜像用户/镜像名称:镜像版本号]

来源:尚硅谷2022版Docker实战教程

Docker安装与教程-Centos7(一)的更多相关文章

  1. Vmware虚拟机中CentOS7与Docker安装图文教程

    1.安装VMware 下载一个软件安装: 2.新建一个虚拟机 等待自动安装完成 配置系统语言: 配置系统时间: 配置系统键盘: 语言支持: 默认自动使用安装源: 配置软件环境,需要及时添加的软件,这里 ...

  2. Centos7中用Docker安装MySQL教程

    第一步 安装Docker 1.1 参考这位博主给出的命令安装好 https://blog.csdn.net/weixin_43423864/article/details/109481260 第二步 ...

  3. Docker安装配置教程

    Docker公开课 1 Docker介绍 1.1 Docker是什么 云计算\云服务 IAAS(基础设施即服务).PAAS(平台即服务).SAAS(软件即服务) Docker到底是什么呢? Docke ...

  4. docker安装详细步骤-centos7

    https://www.runoob.com/docker/centos-docker-install.html 一.安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3.1 ...

  5. mac系统Docker安装Redis教程

    在之前介绍过mac系统安装docker,以及docker安装mysql的傻瓜式教程,如果有需要参考的朋友,可以看下面文章: MacOS安装Docker傻瓜式教程 mac系统下docker安装配置mys ...

  6. Docker安装系列教程

    首先准备一台Centos7版本的虚拟机,它支持docker容器技术.本案例使用centos7虚拟机安装docker容器. 一.安装 1.启动虚拟机,配置虚拟机能够访问互联网 2. 安装支持软件包,提供 ...

  7. docker安装使用教程(Kali2.0)

    一.apt安装 apt直接安装是最好的,因为apt源中的其他docker相关组件,也是与docker匹配的版本. apt-get install docker docker-compose 二.手动安 ...

  8. docker安装制定版本-centos7

    # 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加Docker软件包源 yum-config-manage ...

  9. CentOS7 下Docker最新入门教程 超级详细 (安装以及简单的使用)

    转载https://blog.csdn.net/wzsy_ll/article/details/82866627 1.为什么使用Docker(本人) 最近总是频繁的在新服务器发布项目, 每次发布都需要 ...

  10. centos7 docker 安装配置

    docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#D ...

随机推荐

  1. python: 判断是否是某一类型

    函数isinstance 语法 isinstance(object, classinfo) 参数 object -- 实例对象. classinfo -- 可以是直接或间接类名.基本类型或者由它们组成 ...

  2. Django 组织json格式

    @api_view(['GET', 'POST']) def api_test(request): classes = Classes.objects.all() # classes_data = C ...

  3. JMeter 线程组之Stepping Thread Group插件

    JMeter 线程组之Stepping Thread Group插件 测试环境   apache-jmeter-2.13 插件:https://jmeter-plugins.org/downloads ...

  4. 下一代MES系统架构分析与选型参考

    本文分享自华为云社区<工业互联网系列(十一):下一代MES系统架构分析与选型参考>,作者:云起MAE . 目前国内制造执行系统MES市场尚处于"功能机"混战年代,市场集 ...

  5. [POI2007]GRZ-Ridges and Valleys 题解

    (2022-12-28 ) AcWing 1106 洛谷 P3456 题目大意 找出一个图中所有大于(或小于)周围相邻的非连通块点的所有连通块个数. 就是说,对于一个连通块: 如果它周围的点都低于它, ...

  6. [nginx]借助nginx实现自动获取本机IP

    前言 在用脚本自动化部署应用时,有的应用需要指定本机IP,网上找到的方案大多是过滤ifconfig或者ip命令的结果,这里提供一种通过nginx获取本机ip的方法.大致思路为客户端向nginx发起请求 ...

  7. Health Kit基于数据提供专业方案,改善用户睡眠质量

    什么是CBT-I? 中国社科院等机构今年发布的<中国睡眠研究报告2023>内容显示,2022年,受访者的每晚平均睡眠时长为7.40小时,近半数受访者的每晚平均睡眠时长不足8小时(47.55 ...

  8. 4、Mybatis核心配置文件详解

    4.1.environments <!-- environments标签:配置多个连接数据库的环境 default属性:设置默认使用的环境的id --> <environments ...

  9. 深入理解MySQL:数据类型、查询优化、索引、事务处理和数据备份与恢复

    摘要: MySQL 是一种常用的关系型数据库管理系统,对于开发者和数据库管理员来说,掌握 MySQL 的关键概念和最佳实践非常重要.本文将围绕 MySQL 的数据类型.查询优化.索引.事务处理以及数据 ...

  10. python基础:元组(tuple)列表(list)介绍

    一,元组 1.元组的创建(可以把元组看作一个容器,任何数据类型都可以放在里面)通过赋值方法创建元组In [5]: t = ("hello",2.3,2,True,{1:" ...