云原生-docker安装与基础操作

[一、云原生 Docker 介绍](#一、云原生 Docker 介绍)

[Docker 在云原生中的优势](#Docker 在云原生中的优势)

二、docker的安装

三、docker的基础命令

[1. docker pull(拉取镜像)](#1. docker pull(拉取镜像))

[2. docker images(查看本地镜像)](#2. docker images(查看本地镜像))

[3. docker run(创建并启动容器)](#3. docker run(创建并启动容器))

[4. docker ps(显示容器)](#4. docker ps(显示容器))

[5. docker start(启动容器)](#5. docker start(启动容器))

[6. docker exec(交互模式进入容器)](#6. docker exec(交互模式进入容器))

[7. 退出容器](#7. 退出容器)

[8. docker stop(停止容器)](#8. docker stop(停止容器))

[8. docker restart(重启容器)](#8. docker restart(重启容器))

[9. docker rm(删除容器)](#9. docker rm(删除容器))

[10. 其余杂项](#10. 其余杂项)

[10.1. 查看容器日志](#10.1. 查看容器日志)

[10.2. 查看容器网络](#10.2. 查看容器网络)

[10.3. 查看docker卷](#10.3. 查看docker卷)

[10.4. 显示 Docker 系统的详细信息](#10.4. 显示 Docker 系统的详细信息)

[10.5. 显示 Docker 的版本信息](#10.5. 显示 Docker 的版本信息)

结语


学习视频泷羽sec:

黑客云技术基础之(网恋避险)_哔哩哔哩_bilibili《中华人民共和国刑法》第二百八十六条【破坏计算机信息系统罪;网络服务渎职罪】违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。故意制作、传播计算机病毒等破, 视频播放量 671、弹幕量 1、点赞数 47、投硬币枚数 63、收藏人数 39、转发人数 4, 视频作者 泷羽sec, 作者简介 泷羽 Sec 安全团队v:cc8888ddosv:yxy350488承接:安全测评,小程序/web应用的渗透测试 网络安全 红队攻城 ,相关视频:【从入门到入狱】暗网黑客教程1300集,全程干货无废话!只要你敢学我就敢教!网络安全|kali破解|web安全|渗透测试+学习笔记+零基础入门网络安全,windows基础(1),审核下架66次,终于上传成功的暗网黑客技术教程!整整500集,从入门到精通,手把手教你零基础入门网络安全/渗透测试/内网渗透/黑客技术,蓝队基础之网络七层杀伤链,审核失败34次,学不会我退出网安圈!中国红客技术正需要传人!全套1000集还担心学不会?(,【判刑率99.9】只要你敢学我就敢教,学完渗透黄色赌博网站,从入门到入狱!学不会我退出网络安全圈!,给我五分钟夺走你女神的所有信息,真实可拷手把手教你暗网黑客技术(仅供网络安全教学),【从入门到入狱】暗网黑客教程1300集,全程干货无废话!只要你敢学我就敢教!网络安全|kali破解|web安全|渗透测试+学习笔记+零基础入门网络安全,【判刑率99.9%】500集暗网黑客技术教程,学完之后渗透颜色赌博网站,只要你敢学我就敢教,零基础学习网络安全/渗透测试技术,【小迪安全】全栈网络安全 | 红蓝对抗 | 高级渗透测试 V2024最新版 (完)https://www.bilibili.com/video/BV1BtD6YCEgA/?spm_id_from=333.1007.top_right_bar_window_history.content.click


一、云原生 Docker 介绍

"云原生"(Cloud Native)是指一类在云环境中构建、部署和运行应用程序的方法论和技术栈,它主要包括容器化、微服务、动态管理、持续集成和交付等特性。Docker 是实现云原生应用的一项核心技术,它是一个开源的应用容器化平台,允许开发者将应用及其所有依赖打包成一个标准化的容器镜像,从而简化应用的部署和管理。

Docker 在云原生中的优势

  • 微服务架构:云原生应用倾向于拆分成多个小的、独立的服务,每个服务可以独立开发、部署和扩展。Docker 容器为微服务的实现提供了理想的基础架构,因为它能够在多个容器中运行不同的服务,并且确保服务的环境一致性。

  • 一致性与可移植性:Docker 容器确保应用程序在开发、测试、生产等各个环境中都能够一致运行,减少了环境不一致带来的问题。无论是在本地开发机器还是在云环境中,Docker 容器都能保证一致的行为。

  • 资源隔离:每个 Docker 容器都是相互隔离的,能够确保不同应用之间的相互干扰最小化。同时,Docker 提供了资源限制(如 CPU、内存等),有助于提高资源的利用率和管理。

  • 高效性:Docker 容器比传统的虚拟机(VM)更为轻量,因为它们共享操作系统内核,而不需要模拟完整的硬件环境。这使得容器启动速度更快、占用资源更少。

  • 弹性扩展:Docker 和 Kubernetes 等编排工具使得云原生应用能够根据需求进行弹性扩展。Kubernetes 可以自动调整容器的数量以适应负载的变化,从而确保系统的高可用性和稳定性。

简单来说Docker 是实现云原生架构的核心技术之一,它通过提供容器化的解决方案,使得应用能够在不同的环境中一致运行,并支持高效的部署和管理。结合 Kubernetes 等工具,Docker 可以帮助开发者构建、部署和管理微服务应用,充分发挥云原生技术的优势,提升应用的灵活性、可扩展性和高可用性。

docker让服务不再特别依赖环境,可以直接搭建一个或多个环境,并且正常使用。多个环境还互相隔离相互不影响。


二、docker的安装

这是kali的安装方法一条一条输入就可以了,也可以全选复制直接粘贴

遇到选项全部回车,启动状态正常和sudo docker -v可以打印出版本号就没有问题

复制代码
#安装https协议、CA证书、dirmngr
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates
sudo apt-get install dirmngr
    
#添加GPG密钥并添加更新源
sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
sudo echo 'deb [arch=amd64] https://download.docker.com/linux/debian rolling stable' | sudo tee /etc/apt/sources.list.d/docker.list
    
#更新软件包并安装docker
sudo apt-get update
sudo apt-get install docker.io
​
#启动docker服务器
sudo service docker start
​
#安装compose
sudo apt install docker-compose
 
#配置镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://5tqw56kt.mirror.aliyuncs.com",
    "https://dockerhpcloud.cloud",
    "https://docker.m.daocloud.io",
    "https://docker.1panel.live",
    "http://mirrors.ustc.edu.cn",
    "https://docker.chenby.cn",
    "https://docker.ckyl.me",
    "http://mirror.azure.cn",
    "https://hub.rat.dev"
  ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker --no-pager
sudo docker -v

三、docker的基础命令

本章节重点写增删改查这种基础命令,其余的进阶后期章节有可能会讲,到时候会更偏向于安全领域而不是使用。

1. docker pull(拉取镜像)

bash 复制代码
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

从 Docker Hub 或其他 Docker 镜像仓库拉取镜像。

示例:

bash 复制代码
#拉取centos7的Docker镜像。
docker pull centos:7

从 Docker Hub 拉取最新的centos7 镜像。

2. docker images(查看本地镜像)

bash 复制代码
docker images [OPTIONS] [REPOSITORY[:TAG]]

列出本地存储的所有 Docker 镜像。

常用选项:

  • -a:显示所有镜像,包括中间镜像层。

  • -q:仅显示镜像的 ID。

示例:

bash 复制代码
docker images

3. docker run(创建并启动容器)

bash 复制代码
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

用于创建并启动一个新的容器实例,执行一个命令。是最常用的命令之一。

  • IMAGE:要运行的镜像名。如果镜像不存在,Docker 会自动从 Docker Hub 拉取该镜像。

  • COMMAND:容器启动后执行的命令。如果不指定命令,Docker 会执行镜像中定义的默认命令。

常用选项:

  • -d:以后台模式运行容器(即 detached 模式)。

  • -p :端口映射。例如,-p 8080:80 将容器的 80 端口映射到主机的 8080 端口。

  • -v:挂载卷,将本地目录或文件挂载到容器中。

  • --name:为容器指定一个名称。

  • --rm:容器停止后自动删除容器。

示例:

bash 复制代码
docker run -it --name my_centos7 centos:7 /bin/bash

这个命令会在后台启动一个基于 centos7镜像的容器,将容器的 80 端口映射到主机的 8080 端口,并将容器命名为my_centos7可以用exit退出。

4. docker ps(显示容器)

bash 复制代码
docker ps [OPTIONS]

显示当前正在运行的容器列表。

常用选项:

  • -a:显示所有容器,包括停止的容器。

  • -q:仅显示容器的 ID。

  • --format:以自定义格式显示信息。

示例:

bash 复制代码
docker ps -a

显示所有容器,包括已停止的容器。

5. docker start(启动容器)

bash 复制代码
docker start [OPTIONS] CONTAINER [CONTAINER...]

启动一个或多个已停止的容器。

示例:

bash 复制代码
docker start my_centos7

启动名为 my_centos7 的容器。

STATUS状态显示已经启动

6. docker exec(交互模式进入容器)

bash 复制代码
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

在运行中的容器内执行一个命令。

常用选项:

  • -it:以交互模式(interactive)和终端(tty)启动容器命令,通常用于进入容器的 shell。

示例:

bash 复制代码
docker exec -it my_centos7 /bin/bash

进入名为 my_centos7 的容器,并启动 /bin/bash 终端。

7. 退出容器

exitCtrl + D,退出后容器继续运行。

8. docker stop(停止容器)

bash 复制代码
docker stop [OPTIONS] CONTAINER [CONTAINER...]

停止一个或多个正在运行的容器。

  • CONTAINER:容器的 ID 或名称。

示例:

bash 复制代码
docker stop my_centos7

停止名为 my_centos7 的容器。

8. docker restart(重启容器)

bash 复制代码
docker restart [OPTIONS] CONTAINER [CONTAINER...]

重启一个或多个容器。

示例:

bash 复制代码
docker restart my_centos7

重启名为 my_centos7 的容器。

9. docker rm(删除容器)

bash 复制代码
docker rm [OPTIONS] CONTAINER [CONTAINER...]

删除一个或多个容器。只有停止的容器才能被删除。

常用选项:

  • -f:强制删除运行中的容器。

  • -v:同时删除容器相关的卷。

示例:

bash 复制代码
docker rm my_centos7

删除名为 my_centos7 的容器,只有停止的容器才能被删除。

10. 其余杂项

10.1. 查看容器日志
bash 复制代码
docker logs [OPTIONS] CONTAINER

查看容器的日志输出。

常用选项:

  • -f:实时查看日志。

  • --tail:显示日志的最后几行。

示例:

bash 复制代码
docker logs -f my_centos7

实时查看名为 my_centos7 容器的日志。

10.2. 查看容器网络
bash 复制代码
docker network COMMAND

管理 Docker 网络。常用命令包括 docker network ls(列出所有网络)、docker network create(创建网络)、docker network inspect(查看网络详情)等。

示例:

bash 复制代码
docker network ls

列出所有 Docker 网络。

10.3. 查看docker卷
bash 复制代码
docker volume COMMAND

管理 Docker 卷。常用命令包括 docker volume ls(列出所有卷)、docker volume create(创建卷)、docker volume inspect(查看卷的详细信息)等。

示例:

bash 复制代码
docker volume ls

列出所有 Docker 卷。

10.4. 显示 Docker 系统的详细信息
bash 复制代码
docker info

显示 Docker 系统的详细信息,包括容器、镜像、存储驱动、操作系统等信息。

10.5. 显示 Docker 的版本信息
bash 复制代码
docker version

显示 Docker 的版本信息,包括客户端和服务器端的版本。

结语

Docker 是实现云原生架构的核心技术之一,它通过提供容器化的解决方案,使得应用能够在不同的环境中一致运行,并支持高效的部署和管理。结合 Kubernetes 等工具,Docker 可以帮助开发者构建、部署和管理微服务应用,充分发挥云原生技术的优势,提升应用的灵活性、可扩展性和高可用性。

相关推荐
年薪丰厚11 分钟前
如何在K8S集群中查看和操作Pod内的文件?
docker·云原生·容器·kubernetes·k8s·container
小林熬夜学编程12 分钟前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
zhangj112512 分钟前
K8S Ingress 服务配置步骤说明
云原生·容器·kubernetes
Hacker_Fuchen14 分钟前
天融信网络架构安全实践
网络·安全·架构
岁月变迁呀14 分钟前
kubeadm搭建k8s集群
云原生·容器·kubernetes
墨水\\14 分钟前
二进制部署k8s
云原生·容器·kubernetes
Source、16 分钟前
k8s-metrics-server
云原生·容器·kubernetes
炫彩@之星16 分钟前
Windows和Linux安全配置和加固
linux·windows·安全·系统安全配置和加固
上海运维Q先生16 分钟前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
颜淡慕潇20 分钟前
【K8S问题系列 |19 】如何解决 Pod 无法挂载 PVC问题
后端·云原生·容器·kubernetes