复现漏洞时,经常要复现环境,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. 记一次 .NET 某物流API系统 CPU爆高分析

    一:背景 1. 讲故事 前段时间有位朋友找到我,说他程序CPU直接被打满了,让我帮忙看下怎么回事,截图如下: 看了下是两个相同的程序,既然被打满了那就抓一个 dump 看看到底咋回事. 二:为什么会打 ...

  2. 26194136 psu安装步骤

    26194136 psu安装步骤 1.拷贝 安装包p26194136_112040_MSWIN-x86-64.zip到 目录 2..关闭rac crsctl stop crs srvctl stop ...

  3. Unity的BuildPlayerProcessor:深入解析与实用案例

    Unity BuildPlayerProcessor Unity BuildPlayerProcessor是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目时自动执行一些操作.这个功能可 ...

  4. 新一代Kerberos攻击 钻石票据与蓝宝石票据

    新一代Kerberos攻击 | 钻石票据与蓝宝石票据 0x01 前言 在了解票据攻击的过程中,看见了一篇文章使用Rubeus进行钻石票据攻击.但是没有原理,于是抱着学习的心态在Google上寻找文章发 ...

  5. [ABC151E] Max-Min Sums

    2023-03-11 题目 题目传送门 翻译 翻译 难度&重要性(1~10):5 题目来源 AtCoder 题目算法 数学 解题思路 对于一个正数 \(x,x\in A\) 一定会有 \(C_ ...

  6. WPF学习 - 动画基础(1)

    1. WPF中的动画(Animation),是一种属性动画.技术上来说,它是让属性从一个值,变化到另一个值的过程.因此,有两条重要的特性: 1.1 只能为依赖属性应用动画(因为第二条特性). 1.2 ...

  7. 推荐一个react脚手架工具

    今天介绍一个react脚手架,react-cli, 可以说是 vue-cli 的外表,react的心! 安装步骤: npm install -g sao sao yang302/react-cli n ...

  8. python基础:集合(set)字典(direction)介绍

    三.字典(dict) 1.字典的创建赋值创建字典In [2]: d = {1,True,"hello"} In [3]: type(d)Out[3]: set #字典由key和va ...

  9. Github、Gitee优秀的开源项目

    收集 Github.Gitee优秀的开源项目,并进行归类整理.项目地址 目录 编程语言项目 SprinBoot 项目 源码分析项目 前后端分离项目 Vue2 项目 Vue3 项目 微服务项目 Api ...

  10. Python网络编程——TCP套接字通信、通信循环、链接循环、UDP通信

    文章目录 基于TCP的套接字通信 加上通信循环 加上链接循环 基于UDP协议的套接字通信 基于TCP的套接字通信 以买手机的过程为例 服务端代码 import socket # 1.买手机 phone ...