当前位置: 首页 > news >正文

docker详细操作--未完待续

docker介绍

docker官网: Docker:加速容器应用程序开发

harbor官网:Harbor - Harbor 中文

使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像

是什么

Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环境、配置文件等)打包成一个独立的、可移植的容器(Container)。容器可以在任何支持 Docker 的环境中运行,而无需担心环境差异导致的问题。

可以做什么

Docker 的核心价值在于简化应用部署、提升环境一致性、加速开发流程,其应用场景广泛覆盖开发、测试、运维和云原生领域。

特点

轻量级与资源高效

共享内核,分层存储,资源占用低

标准化与可移植性        

镜像使用统一CRI标准,可以实现跨平台运行

环境一致性

镜像不可变,隔离性避免依赖冲突

快速部署与弹性伸缩

秒级启动,支持编排工具自动化管理

隔离性与安全性

使用基于Linux内核的Namespaces和Cgroups进行资源隔离和限制,用户命名空间提升安全性

生态丰富与安全性

支持镜像仓库,编排工具,监控日志等

使用环境说明

使用环境表
操作系统版本centos stream 9
docker版本28.2.2
harbor版本2.11.2

docker部署

#更改主机名
hostnamectl set-hostname docker
#关闭防火墙
systemctl disable --now firewalld
#关闭Selinux
setenforce 0 && sed -ri 's/enforcing/disabled/' /etc/selinux/config
#下载扩展源
dnf -y install epel-release
#更新所有安装包
dnf upgrade -y 
#清除安装包缓存
dnf makecache && dnf clean all
#下载docker
bash <(curl -f -s --connect-timeout 10 --retry 3 https://linuxmirrors.cn/docker.sh) --source mirrors.tencent.com/docker-ce --source-registry docker.1ms.run --protocol https --install-latested true --close-firewall false --ignore-backup-tips
#配置docker国内加速源
curl -s https://static.1ms.run/1ms-helper/scripts/install.sh | sudo bash /dev/stdin config:mirror
# 自动配置Docker镜像加速器,告别拉取超时(需要注册账号)
curl -s https://static.1ms.run/1ms-helper/scripts/install.sh | sudo bash /dev/stdin config
#docker-compose的安装与配置
sudo curl -L "https://1ms.run/install/docker-compose/latest/$(uname -s)/$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
#查看docker相关信息
docker info

镜像相关操作

#直接使用docker pull拉取镜像 
docker nginx #(不指定nginx版本,则默认拉取latest版本镜像)
#拉取指定版本镜像
docker nginx:1.24 #(拉取1.24版本的nginx镜像)
#拉取指定仓库的镜像
docker pull https:library_url/library/nginx:tag

#删除指定镜像
docker rmi nginx:latest  #后面也可以跟image的id
#根据id进行删除
docker rmi e1dd0e2ae44f

#使用docker tag更改镜像相关信息,通常在将镜像推送到私有镜像仓库时需要使用
docker tag nginx:latest library_url/library/nginx:latest

#查看当前所有镜像
docker images 
docker image ls

私有仓库的使用

镜像仓库是容器化部署的核心基础设施,其核心价值体现在效率提升、安全可控、协作优化等方面。

阿里云容器镜像服务--ACR

在阿里云上使用自己的私有账号开通自己的私有仓库

使用比较方便

harbor私有仓库

使用harbor搭建自己的私有镜像仓库,便于使用

harbor压缩包获取链接: ​​​​​

https://github.com/goharbor/harbor/releases/download/v2.9.3/harbor-offline-installer-v2.9.3.tgz

# 下载 Harbor v2.11.2
wget https://github.com/goharbor/harbor/releases/download/v2.11.2/harbor-offline-installer-v2.11.2.tgz
# 解压安装包
tar -xzf harbor-offline-installer-v2.11.2.tgz
#查看解压镜像
docker images
#进入解压目录
cd harbor
#拉取所需镜像
docker load -i  harbor.v2.11.2.tar.gz
#生成公钥和私钥
openssl req -x509 -nodes -newkey rsa:4096 -keyout /etc/ssl/harbor.key -out /etc/ssl/harbor.crt -days 365 -subj "/CN=reg.yourdomain.com"
#修改配置文件
grep -vE "^(#|$)" harbor.yml | grep -v "#"
hostname: www.troubles.top
http:port: 80
https:port: 443certificate: /root/www.troubles.top.pemprivate_key: /root/www.troubles.top.key
harbor_admin_password: 12345
database:password: root123max_idle_conns: 100max_open_conns: 900conn_max_lifetime: 5mconn_max_idle_time: 0
data_volume: /data/harbor
trivy:ignore_unfixed: falseskip_update: falseskip_java_db_update: falseoffline_scan: falsesecurity_check: vulninsecure: falsetimeout: 5m0s
jobservice:max_job_workers: 10job_loggers:- STD_OUTPUT- FILE
notification:webhook_job_max_retry: 3
log:level: infolocal:rotate_count: 50rotate_size: 200Mlocation: /var/log/harbor
_version: 2.11.0
proxy:http_proxy:https_proxy:no_proxy:components:- core- jobservice- trivy
upload_purging:enabled: trueage: 168hinterval: 24hdryrun: false
cache:enabled: falseexpire_hours: 24
#创建日志和数据使用目录并添加权限
mkdir /var/log/harbor -p
mkdir /data/harbor
添加权限
chmod 777 -R /data/  /var/log/harbor/
#检查配置
./prepare
#启动安装脚本
./install.sh
#查看启动的容器
docker ps 
#使用本地80端口访问harbor

后续进行私有镜像仓库的创建即可

推送镜像到私有仓库

容器相关操作

逻辑卷相关操作

网络相关操作

dockerfile介绍

dockerfile的使用

dockerfile构建自定义镜像

http://www.xdnf.cn/news/973423.html

相关文章:

  • XSS攻击和CSRF攻击
  • TF-IDF算法详解与实践总结
  • 逆向--进阶
  • C++ 标准模板库(STL)详解文档
  • 关于前端常用的部分公共方法(三)
  • 【数字图像处理】基于Python语言的玉米小斑病图像分析
  • 鹰盾加密器“一机一码”技术全维度剖析:从底层实现到生态防护体系
  • 微信小程序抓包(burp + proxifier)
  • 卡方检验(χ²检验)
  • python打卡day50@浙大疏锦行
  • 1.1 ROS1应用商店APT源
  • 全国大学生计算机应用能力与数字素养大赛 C语言程序设计赛项——本科组练习
  • plc开篇学习。
  • maven依赖冲突解决
  • JAVA(Day_2)
  • 5g LDPC编译码-LDPC编码
  • Win系统下的Linux系统——WSL 使用手册
  • Docker安装openGauss
  • 使用kubeadm部署Kubernetes(k8s)集群的步骤
  • Linux ELF文件详解:深入理解可执行文件格式
  • 将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
  • Alpine Linux基本介绍与新手使用指南
  • Spring MVC 核心枢纽:DispatcherServlet 的深度解析与实践价值
  • FastAPI 教程:从入门到实践
  • V837s-调整内核dmesg内容ring buffer大小
  • k8s从入门到放弃之Ingress七层负载
  • 字符串序列判定
  • pip install 安装traj_dist库失败
  • PCB设计教程【大师篇】——STM32开发板原理图设计(单片机最小系统)
  • 树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法