Docker环境搭建与容器操作全攻略:从入门到实战

一、环境搭建

1.1 基础包安装(最小化系统)

# 备份Yum源配置  
mkdir /etc/yum.repos.d/bak  
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/  配置Yum源示例 可以更换为阿里云镜像  
cat <<EOF > /etc/yum.repos.d/local.repo  
[baseos]  
name=baseos  
baseurl=file:///mnt/BaseOS/  
gpgcheck=0  [app]  
name=app  
baseurl=file:///mnt/AppStream/  
gpgcheck=0  
EOF  # 刷新缓存并安装工具包  
yum clean all  
yum install -y vim net-tools bash-completion yum-utils  

📌 关键说明

  • yum-utils 用于管理Docker仓库
  • bash-completion 提供命令补全(执行 bash 刷新)

1.2 Docker安装

# 添加阿里云仓库  
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  # 安装Docker  
yum install -y docker-ce  # 启动服务  
systemctl start docker  
systemctl enable docker  
docker -v  # 验证版本  

二、镜像操作

2.1 核心命令

命令说明
docker search mysql搜索镜像
docker pull centos:7.8.2003拉取指定版本
docker images查看本地镜像
docker rmi mysql:latest删除镜像

2.2 镜像生命周期管理

# 导出镜像  
docker save mysql:latest -o mysql.tar  # 导入镜像  
docker load -i mysql.tar  # 推送镜像到仓库  
docker tag alpine:latest registry.cn-hangzhou.aliyuncs.com/your-namespace/alpine:v1  
docker push registry.cn-hangzhou.aliyuncs.com/your-namespace/alpine:v1  

2.3 镜像加速配置

# 阿里云加速器  
cat <<EOF > /etc/docker/daemon.json  
{  "registry-mirrors": ["https://cc2d8woc.mirror.aliyuncs.com"]  
}  
EOF  
systemctl restart docker  

三、容器操作

3.1 基础操作

# 启动容器  
docker run -tid --name os1 --restart always centos:latest  # 进入容器  
docker exec -ti os1 /bin/bash  # 查看日志  
docker logs os1  

3.2 容器生命周期

docker stop os1     # 停止容器  
docker start os1    # 启动容器  
docker rm -f os1    # 删除容器  

3.3 端口映射与变量传递

# Nginx容器  
docker run -tid --name web -p 8080:80 nginx  # MySQL容器  
docker run -tid --name db \  -p 3306:3306 \  -e MYSQL_ROOT_PASSWORD=redhat \  mysql:latest  

3.4 文件操作

# 主机→容器  
docker cp /path/file os1:/container/path/  # 容器→主机  
docker cp os1:/container/path/file /host/path/  

四、实战案例:部署WordPress

4.1 创建MySQL容器

docker run -tid --name db \  -e MYSQL_ROOT_PASSWORD=redhat \  -e MYSQL_DATABASE=wordpress \  mysql:latest  

4.2 获取MySQL IP

DB_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' db)  

4.3 启动WordPress

docker run -tid --name blog \  -e WORDPRESS_DB_HOST=$DB_IP \  -e WORDPRESS_DB_USER=root \  -e WORDPRESS_DB_PASSWORD=redhat \  -p 8080:80 \  wordpress:latest  

🌐 访问地址:http://服务器IP:8080


五、容器网络

5.1 网络类型

docker network ls  # 查看所有网络  
  • bridge:默认网络(推荐)
  • host:共享主机网络
  • none:无网络

5.2 自定义网络

# 创建网络  
docker network create my-net  # 容器加入网络  
docker run -tid --name web --network my-net nginx  

六、容器存储

6.1 永久卷存储

# 具名卷(推荐)  
docker volume create mysql-data  
docker run -tid --name db -v mysql-data:/var/lib/mysql mysql  # 主机目录映射  
docker run -tid --name web -v /host/data:/container/data nginx  

七、Dockerfile入门

7.1 示例文件

FROM centos:7  
LABEL maintainer="your-email@example.com"  
RUN yum install -y httpd && yum clean all  
COPY index.html /var/www/html/  
EXPOSE 80  
CMD ["httpd", "-D", "FOREGROUND"]  

7.2 构建与运行

docker build -t my-apache .  
docker run -tid --name myweb -p 8080:80 my-apache  

八、命令速查表
功能命令
镜像管理docker images docker pull <image> docker rmi <image>
容器操作docker run [options] <image> docker exec -ti <container> /bin/bash
日志与监控docker logs <container> docker ps -a
网络管理docker network create <name> docker network ls
存储管理docker volume create <name> docker run -v <volume>:<path>

💡 最佳实践

  1. 生产环境使用固定版本标签(如 mysql:8.0 而非 latest)
  2. 容器应保持无状态,关键数据使用卷存储
  3. 多容器应用使用 docker-compose 管理
  4. 定期清理:docker system prune

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/91250.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4.2TCP/IP

1、TCP/IP基础&#xff08;重要&#xff09;概要网络协议3要素&#xff1a;语法、语义、时序 osi七层模型&#xff1a;应用层、表示层、会话层、传输层、网络层、数据链路层、物理层tcp四层模型&#xff1a;应用层&#xff08;应用层、表示层、会话层&#xff09;、传输层、int…

Java之Stream其二

文章目录5,Optional5.1,概述5.2,使用5.2.1,创建对象5.2.2,安全消费值5.2.3,获取值5.2.4,安全获取值5.2.5,过滤5.2.6,判断5.2.7,数据转换6,方法引用6.1 推荐用法6.2 基本格式6.3 语法详解(了解)6.3.1 引用类的静态方法6.3.2 引用对象的实例方法6.3.3 引用类的实例方法6.3.4 构造…

一般芯片电气特性中Flash参数达到其最大值的条件是什么?

芯片电气特性中标注的最大值&#xff08;比如 Data Flash 擦除时间的最大值&#xff09;&#xff0c;代表在最恶劣但仍在规格书定义的工作条件范围内的情况下&#xff0c;该参数可能达到的最差值。达到这个最大值通常是由多个最坏情况因素组合造成的。 对于 Data Flash 擦除时间…

python中正则中的split方法、sub方法、finditer方法、compile方法、match对象

正则常见方法梳理 split方法 将一个字符串按照正则表达式匹配结果进行分割,返回结果是列表类型。 pattern:正则表达式的字符串或原生字符串表示string:待匹配字符串maxsplit:最大分割数,剩余部分最为最后一个元素输出flags:正则表达式使用时候的控制标记 re模块的spli…

Pytorch中张量的索引和切片使用详解和代码示例

PyTorch 中张量索引与切片详解 使用前先导入&#xff1a; import torch1.基础索引&#xff08;类似 Python / NumPy&#xff09; 适用于低维张量&#xff1a;x[i]、x[i, j] x torch.tensor([[10, 11, 12],[13, 14, 15],[16, 17, 18]])print(x[0]) # 第0行: tensor([10…

北京-4年功能测试2年空窗-报培训班学测开-第五十一天

行叭&#xff0c;今天复习第一天&#xff0c;状态效率&#xff0c;差我发现&#xff0c;一旦换了新环境/知识&#xff0c;我就需要重新调整状态&#xff0c;少则一两天&#xff0c;多则一周多。从周日起就很迷茫&#xff0c;哪怕昨天老师讲了简历与面试&#xff0c;我也清楚地知…

虚拟现实的镜廊:当技术成为存在之茧

傍晚&#xff0c;摘下VR头盔的瞬间&#xff0c;房间里未关的台灯竟显得刺眼。指尖划过光滑的塑料外壳&#xff0c;温热的机体还在微微震动&#xff0c;如同某种活物的呼吸。窗外城市的光污染在玻璃上晕染成片&#xff0c;而我的视网膜里仍残留着方才的极光&#xff1a;挪威峡湾…

OSPF过滤

首先需要复习一个点&#xff1a;ACL最终隐含规则不同&#xff1a;如果acl匹配的是流量&#xff0c;则默认是运行所有如果acl匹配的是路由&#xff0c;则默认是拒绝所有OSPF过滤&#xff1a; 1.路由过滤1.LSA可以正常学习&#xff0c;但是不会使用LSA计算路由[AR1]acl 2000[AR1-…

OneCode 3.0 VFS客户端驱动(SDK)技术解析:从架构到实战

引言 在分布式系统架构中&#xff0c;高效的文件管理一直是开发者面临的核心挑战。OneCode 3.0作为新一代微内核引擎&#xff0c;其VFS&#xff08;虚拟文件系统&#xff09;模块通过客户端驱动(SDK)提供了统一的文件操作抽象&#xff0c;屏蔽了底层存储细节&#xff0c;为开发…

@Reusable-组件复用

Reusable组件复用概述&#xff1a;ArkUI布局中&#xff0c;将自定义组件从组件树上移除后放入缓存池&#xff0c;后续在创建相同类型的组件节点时&#xff0c;直接复用缓存池中的组件对象。ArkUI中使用Reusable装饰器以实现自定义组件的复用。常见的组件复用场景是当有大量数据…

黑马点评系列问题之p63unlock.lua不知道怎么整

问题描述&#xff1a;这个位置的这个unlock.lua文件是怎么生成的。老师给的不是很清楚。解决右键单击resources。如图输入回车&#xff0c;然后界面的上方&#xff0c;大概是在这个位置&#xff0c;会有让你引入这个依赖的选项&#xff0c;我的已经没有了。他会出来大概三个选项…

Python爬虫实战:研究Python-Markdown库相关技术

1. 引言 在当今信息爆炸的时代,网络上存在着大量有价值的技术文章。对于技术人员来说,如何高效地收集、整理和保存这些文章是一个重要的问题。爬虫技术可以帮助我们自动从网络上获取所需的文章内容,而 Markdown 作为一种轻量级标记语言,因其简洁的语法和良好的兼容性,成为…

JAVA经典单例模式

前言单例模式&#xff08;Singleton Pattern&#xff09;是一种创建型设计模式&#xff0c;确保一个类仅有一个实例&#xff0c;并提供全局访问点。它在需要控制资源&#xff08;如数据库连接、配置管理&#xff09;或避免重复创建对象的场景中广泛应用。一&#xff0c;核心概念…

20250715问答课题-基于BERT与混合检索问答系统

1. 引言构建一个基于BERT与混合检索策略的智能问答系统&#xff0c;通过深度学习与传统检索技术的融合&#xff0c;解决了心法领域知识检索中的三个关键问题&#xff1a;(1)专业术语的语义理解不足&#xff1b;(2)问答匹配精度低&#xff1b;(3)检索结果多样性差。2. 方法2.1. …

面向对象与面向过程、函数式编程

面向对象与面向过程、函数式编程 1. 面向过程编程&#xff08;Procedure-Oriented Programming&#xff09; 面向过程编程将程序视为一系列函数的集合&#xff0c;数据和操作数据的函数是分离的。在 Vue 3 中&#xff0c;这种风格通常表现为使用组合式 API&#xff08;Composit…

基于大数据的淘宝用户行为数据分析系统的设计与实现

开发环境开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven…

视频人脸处理——人脸面部动作提取

文章目录基于openface实现的技术方案windows环境下使用1. 安装依赖软件2. 下载OpenFace代码3. 编译OpenFace4. 提取面部动作单元5.选择提取目标方案liunx环境下使用安装与配置使用 OpenFace 提取面部动作单元应用场景基于py-feat实现的方案1. 从HuggingFace下载模型并设置Detec…

【Docker基础】Dockerfile构建与运行流程完全指南:从原理到实践优化

目录 引言 1 docker build命令参数详解 1.1 命令概述 1.2 常用参数详解 1.2.1 -t, --tag 1.2.2 -f, --file 1.2.3 --build-arg 1.2.4 --no-cache 1.2.5 --pull 1.3 构建流程图解 2 构建上下文&#xff08;Context&#xff09;优化技巧 2.1 构建上下文定义 2.2 优化…

StarRocks Community Monthly Newsletter (Jun)

版本动态 v3.5.0 存算分离&#xff1a;支持生成列、主键表重建索引&#xff1b;大规模导入逻辑优化&#xff0c;降低小文件数量。 数据湖分析&#xff1a;Beta 支持 Iceberg 视图创建与修改&#xff1b;支持 Iceberg REST Catalog 嵌套命名空间&#xff1b; 性能提升与查询优…

HDMI接口 vs. DisplayPort接口:电竞玩家该如何选择更优?

在搭建游戏主机或电竞PC时&#xff0c;显示器接口的选择&#xff08;HDMI vs. DP&#xff09;会直接影响画质、刷新率和延迟表现。本文将从分辨率、刷新率、可变刷新率&#xff08;VRR&#xff09;、带宽、兼容性等角度对比&#xff0c;帮你选出最适合游戏的接口。1. 基础对比&…