docker环境和dockerfile制作

docker

一、环境和安装

1、 docker安装
  1. 使用 root 权限登录 CentOS。确保 yum 包更新到最新
sudo yum update
  1. 卸载旧版本
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce
  1. 安装 Docker 所需依赖
yum -y install yum-utils device-mapper-persistent-data lvm2
  1. 指定 Docker 镜像源,使用阿里云加速
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装 Docker
sudo yum -y install docker-ce
2、安装成功

1.验证 Docker 是否安装成功:查看安装的版本号

docker -v
  1. 启动 Docker
sudo systemctl start docker
  1. 设置开机启动
sudo systemctl enable docker
  1. 测试镜像
sudo docker run hello-world
3 、错误解决

错误1:更新 yum 报错

备份仓库配置文件:CentOS-Base.repo => CentOS-Base.repo.back

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back

修改仓库配置文件,使用阿里云加速

sudo tee /etc/yum.repos.d/CentOS-Base.repo <<-'EOF'
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7EOF

错误2:yum-config-manager:找不到命令

这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里,可以通过命令yum -y install yum-utils 安装就可以了。

yum -y install yum-utils

错误3:Error response from daemon: Get “https://registry-1.docker.io/v2/”(访问失败,需配置代理/镜像加速)

通过修改 Docker 的配置文件 daemon.json 来配置镜像加速器,可以加速 Docker 镜像的拉取速度,尤其是在国内环境下。操作步骤如下:

编辑 /etc/docker/daemon.json 文件:

sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com","https://docker.m.daocloud.io","https://dockerhub.icu","https://docker.anyhub.us.kg","https://docker.1panel.live"]
}

重新加载 deamon.json 配置文件

sudo systemctl daemon-reload

重启 Docker

sudo systemctl restart docker

通过 docker info 命令查看当前 Docker 配置,是否成功加载了镜像加速器:(可能只输出Registry Mirrors:,通过拉取镜像测试)

sudo docker info | grep -i 'Registry Mirrors'

测试拉取镜像

docker pull hello-world

二、docker常用命令

帮助命令
docker xxx --help
镜像命令
docker images #列出所有镜像
docker search mysql  #查找mysql镜像
docker pull mysql:5.7  #拉取mysql镜像
docker rmi -f 镜像  #删除镜像
容器命令
  • 查看容器
docker ps #列出运行的镜像
docker ps -aq #列出运行镜像id
  • 删除容器
docker rm 容器id     #删除指定的容器,不能删除正在运行的容器,如果要强制删除 加-f
docker rm -f $(docker ps -aq) #删除所有容器
docker ps -a -q|xargs docker rm #删除所有的容器
  • 启动和停止容器
docker start 容器id     #启动容器
docker restart 容器id   #重启容器
docker stop 容器id      #停止当前正在运行的容器
docker kill 容器id      #强制停止当前容器
常用其他命令

后台启动容器

docker run -d -t 容器名

查看日志

docker logs -f -t --tail number 容器id
-tf   #显示日志
--tail number #显示日志条数

查看容器中进程信息

docker top 镜像id 

查看镜像元数据

docker inspect 镜像id 

进入当前正在进行的容器

# 方式一
docker exec -it 容器id /bin/bash
# 方式二
docker attach 容器id

从容器中拷贝文件

docker cp 容器id:目标主机目录

三、容器数据卷

使用数据卷

方式一 使用-v 选项

docker run -it -v 主机目录:容器目录 容器
docker run -it -v /home/ceshi:/home/ centos /bin/bash-d 后台运行
-e 环境配置
-v 配置挂载卷
-p 端口映射
--name 容器名字
docker run -d -p 3307:3306 -v /home/etc/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql1 mysql:5.7
# 启动mysql并挂载到主机目录
# 使用sqlyog等数据库工具连接时可能会出现连接失败,可能是防火墙的原因,手动关闭防火墙试一下
systemctl stop firewalld

查看容器卷

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

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

相关文章

[luogu12542] [APIO2025] 排列游戏 - 交互 - 博弈 - 分类讨论 - 构造

传送门&#xff1a;https://www.luogu.com.cn/problem/P12542 题目大意&#xff1a;给定一个长为 n n n 的排列和一张 m m m 个点 e e e 条边的简单连通图。每次你可以在图上每个点设置一个 0 ∼ n − 1 0\sim n-1 0∼n−1、两两不同的权值发给交互库&#xff0c;交互库会…

智能体agent概述

智能体概述 智能体是一个能够感知环境并在环境中自主行动以实现特定目标的系统。它具有以下几个关键特征&#xff1a; 自主性 - 智能体可以在没有直接人为干预的情况下运作&#xff0c;能够自行决策和行动。 响应性 - 能够感知环境并对环境变化做出及时响应。 主动性 - 不仅…

2:OpenCV—加载显示图像

加载和显示图像 从文件和显示加载图像 在本节中&#xff0c;我将向您展示如何使用 OpenCV 库函数从文件加载图像并在窗口中显示图像。 首先&#xff0c;打开C IDE并创建一个新项目。然后&#xff0c;必须为 OpenCV 配置新项目。 #include <iostream> #include <ope…

python训练 60天挑战-day31

知识点回顾 规范的文件命名规范的文件夹管理机器学习项目的拆分编码格式和类型注解 昨天我们已经介绍了如何在不同的文件中&#xff0c;导入其他目录的文件&#xff0c;核心在于了解导入方式和python解释器检索目录的方式。 搞清楚了这些&#xff0c;那我们就可以来看看&#x…

构建自动收集并总结互联网热门话题的网站

构建自动收集并总结互联网热门话题的网站的具体方案&#xff1a; 一、系统架构设计 数据采集层 • 使用Python的Scrapy或BeautifulSoup抓取新闻网站/社交媒体API # 示例&#xff1a;微博热点爬虫 import requests def fetch_weibo_hot():url "https://weibo.com/ajax/st…

pycharm无需科学上网工具下载插件的解决方案

以下是两种无需科学上网即可下载 PyCharm 插件的解决思路&#xff1a; 方法 1&#xff1a;设置 PyCharm 代理 打开 PyCharm选择菜单&#xff1a;File → Settings → Appearance & Behavior → System Settings → HTTP Proxy在代理设置中进行如下配置&#xff1a; 代理地…

机器学习自然语言处理

在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;词向量&#xff08;Word Embedding&#xff09;是将人类语言转化为计算机可理解形式的关键技术。它通过数学空间中的向量表示&#xff0c;捕捉词语的语义和语法信息&#xff0c;有效解决了传统离散表示的 “维数灾难…

如何自学FPGA设计?

众所周知&#xff0c;FPGA设计自学难度不小&#xff0c;更不存在速成的捷径。这里简单说一下学习的规划&#xff0c;希望能给入门者提供一些方向。 学会相应的知识 不论是科班毕业还是理工科专业出身&#xff0c;想要入行FPGA开发&#xff0c;基础知识必须扎实。尤其是在高校…

南航无人机大规模户外环境视觉导航框架!SM-CERL:基于语义地图与认知逃逸强化学习的无人机户外视觉导航

作者&#xff1a; Shijin Zhao, Fuhui Zhou, Qihui Wu单位&#xff1a;南京航空航天大学电子信息工程学院论文标题&#xff1a; UAV Visual Navigation in the Large-Scale Outdoor Environment: A Semantic Map-Based Cognitive Escape Reinforcement Learning Method论文链接…

Linux-进程间通信

1.进程间通信介绍 1.1通信目的 数据传输&#xff1a;⼀个进程需要将它的数据发送给另⼀个进程 资源共享&#xff1a;多个进程之间共享同样的资源。 通知事件&#xff1a;⼀个进程需要向另⼀个或⼀组进程发送消息&#xff0c;通知它&#xff08;它们&#xff09;发⽣了某种事…

精益数据分析(69/126):最小可行化产品(MVP)的设计、验证与数据驱动迭代

精益数据分析&#xff08;69/126&#xff09;&#xff1a;最小可行化产品&#xff08;MVP&#xff09;的设计、验证与数据驱动迭代 在创业旅程中&#xff0c;从需求洞察到产品落地的关键一跃是打造最小可行化产品&#xff08;MVP&#xff09;。今天&#xff0c;我们结合《精益…

从JavaScript快速上手Python:关键差异与核心技巧

引言 如果你是JavaScript开发者&#xff0c;可能会对Python的简洁语法和丰富的生态感兴趣。但两种语言的设计哲学和实现细节存在显著差异。本文将通过对比JS与Python的核心概念&#xff0c;帮助你快速过渡&#xff0c;避免“踩坑”。 一、语法差异&#xff1a;告别大括号&#…

TransmittableThreadLocal实现上下文传递-笔记

1.TransmittableThreadLocal简介 com.alibaba.ttl.TransmittableThreadLocal&#xff08;简称 TTL&#xff09;是阿里巴巴开源的一个工具类&#xff0c;旨在解决 ThreadLocal 在线程池中无法传递上下文变量 的问题。它是对 InheritableThreadLocal 的增强&#xff0c;尤其适用…

TDengine 安全部署配置建议

背景 TDengine 的分布式、多组件特性导致 TDengine 的安全配置是生产系统中比较关注的问题。本文档旨在对 TDengine 各组件及在不同部署方式下的安全问题进行说明&#xff0c;并提供部署和配置建议&#xff0c;为用户的数据安全提供支持。 安全配置涉及组件 TDengine 包含多…

在Cursor中启用WebStorm/IntelliJ风格快捷键

在Cursor中启用WebStorm/IntelliJ风格快捷键 方法一&#xff1a;使用预置快捷键方案 打开快捷键设置 Windows/Linux: Ctrl K → Ctrl SmacOS: ⌘ K → ⌘ S 搜索预设方案 在搜索框中输入keyboard shortcuts&#xff0c;选择Preferences: Open Keyboard Shortcuts (JSON) …

python打卡day30@浙大疏锦行

知识点回顾&#xff1a; 导入官方库的三种手段导入自定义库/模块的方式导入库/模块的核心逻辑&#xff1a;找到根目录&#xff08;python解释器的目录和终端的目录不一致&#xff09; 作业&#xff1a;自己新建几个不同路径文件尝试下如何导入 具体操作步骤&#xff1a; 在桌面…

【kafka】基本命令

创建 Kafka Topic 的命令 以下是创建 Kafka Topic 的几种常用方法&#xff1a; 1. 使用 kafka-topics.sh 基础命令&#xff08;Kafka 自带工具&#xff09; bin/kafka-topics.sh --create \--bootstrap-server <broker地址:端口> \--topic <topic名称> \--parti…

编程速递:适用于 Delphi 12.3 的 FMX Linux 现已推出

Embarcadero非常高兴地宣布&#xff0c;用于使用Delphi构建Linux客户端应用程序的FMX Linux UI库再次在RAD Studio 12.3版本以及RAD Studio 12.2版本中提供支持&#xff0c;同时也适用于更早的版本。 作为RAD Studio的一个附加库&#xff0c;FMX Linux为开发面向Linux的图形用…

通过实例讲解螺旋模型

目录 一、螺旋模型的核心概念 二、螺旋模型在电子商城系统开发中的应用示例 第 1 次螺旋:项目启动与风险初探

vue3 vite 路由

如路由是这种格式 http://localhost:7058/admin/product/brand路由配置如下 import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vue import NProgress from nprogress; import nprogress/nprogress.css; import {errorRour…