复现漏洞时,经常要复现环境,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. pandas 格式化日期

    output_data["ShipDate"] = output_data["ShipDate"].dt.strftime("%Y/%m/%d&quo ...

  2. eclipse module-info.java文件

    module 本模块的名称{ exports 对外暴露的包路径; requires 需要依赖的其他模块名称; } module-info.java不是类,不是接口,是一些模块描述信息.module也不 ...

  3. CSS3新增了哪些选择器?(属性、结构伪类、伪元素选择器)

    在css3提供的新选择器之前,选择一个元素需要借助id或者class,css3新增的选择器可以更灵活的去选择需要的元素,那css3提供了哪些好用的选择器呢? 首先就是属性选择器,我们可以通过属性选择器 ...

  4. linux设置信号量系统参数

    前言 信号量是IPC(进程间通信)机制的一种,用于协调多个进程或线程对共享数据的读写操作,本质上是一个计数器.类似于锁,主要用于保护共享资源,控制同时访问资源的进程数. 信号量只允许调用者对它进行等待 ...

  5. 基于Supabase开发公众号接口

    在<开源BaaS平台Supabase介绍>一文中我们对什么是BaaS以及一个优秀的BaaS平台--Supabase做了一些介绍.在这之后,出于探究的目的,我利用一些空闲时间基于Micros ...

  6. 部署属于自己的New bing Ai

    该项目来源 https://github.com/adams549659584/go-proxy-bingai 项目体验地址 https://bing.vcanbb.top/web/#/ 项目介绍 基 ...

  7. [Bread.Mvc] 开源一款自用 MVC 框架,支持 Native AOT

    Bread.Mvc Bread.Mvc 是一款完全支持 Native AOT 的 MVC 框架,搭配同样支持 AOT 的 Avalonia,让你的开发事半功倍.项目开源在 Gitee,欢迎 Star. ...

  8. 单节点 RAID6 可靠性模型

    介绍 独立磁盘冗余阵列(Redundant Arrays of Independent Disks, RAID)是存储业界为保证数据可用性.可靠性和完整性所采用的重要技术,即使在分布式多副本如此流行和 ...

  9. 使用flask开发web应用

    Flask环境搭建 要开发flash应用,我们需要做一些准备工作 我写了个初始化的脚本 Pip_init.sh来安装初始工作 可以到我的git上去下载该脚本进行初始化安装 要启动flask应用,我们需 ...

  10. CVE-2018-8120 漏洞复现

    CVE-2018-8120 漏洞复现 漏洞描述 win32k.sys中函数 SetImeInfoEx未对指针进行合法性检查,从而导致一个任意地址写. 漏洞分析 漏洞成因 int __stdcall S ...