在云服务器搭建 Docker
操作场景
本文档介绍如何在腾讯云云服务器上搭建和使用 Docker。本文适用于熟悉 Linux 操作系统,刚开始使用腾讯云云服务器的开发者。如需了解更多关于 Docker 相关信息,请参见 Docker 官方。
说明:
Windows Subsystem for Linux(简称 WSL)在 Windows Server 2022 系统中遇到了一些限制。由于系统内核完整性的原因,WSL 1无法运行 Linux Docker。虽然 WSL 2 可以运行 Linux Docker,但它需要硬件支持二次虚拟化,而普通的云服务器(包括 Lighthouse)不支持二次虚拟化。因此,无论是 WSL 1还是 WSL 2,在普通 Windows 云服务器上都无法运行 Linux Docker。
如果是 Windows 普通云服务器(含 Lighthouse),不支持 Install Docker Desktop on Windows;如果是 Windows 裸金属物理机,则建议选择 Server 2022 系统,具体信息请参考相关文档 微软官方文档 - 准备适用于容器的 Windows 来配置。
示例操作系统
本文使用云服务器实例操作系统以 TencentOS Server 3.2、CentOS 8.2 、Ubuntu 22.04、CentOS7.9、Debian 12.5、OpenCloudOS 8.0、OpenCloudOS 9.0为例。 若您使用了 TencentOS Server 操作系统,则需对应实际版本进行操作:
TencentOS Server 2.4 (TK4):镜像已预置 Docker,无需再次安装,可参见 使用 Docker 直接开始使用。
前提条件
已购买 Linux 云服务器。如果您还未购买云服务器,请参见 快速配置 Linux 云服务器。
说明:
搭建 Docker 必须使用64位系统,且内核版本至少为3.10。
操作步骤
安装 Docker
根据您使用的操作系统版本,执行以下操作步骤:
1. 使用标准方式登录 Linux 实例(推荐)。
2. 安装 Docker。
TencentOS Server 3.2
CentOS 8.2
Ubuntu 22.04
CentOS 7.9
Debian 12.5
OpenCloudOS 8.0
OpenCloudOS 9.0
1. 执行以下命令,添加 Docker 软件源。
dnf config-manager --add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo
2. 执行以下命令,查看已添加的 Docker 软件源。
dnf list docker-ce
3. 执行以下命令,安装 Docker。
dnf install -y docker-ce --nobest
4. 执行以下命令,运行 Docker。
systemctl start docker
5. 执行以下命令,检查安装结果。
docker info
返回如下信息,即表示安装成功。

使用 Docker
Docker 的基本使用命令如下:
管理 Docker 守护进程。
运行 Docker 守护进程:
systemctl start docker
停止 Docker 守护进程:
systemctl stop docker
重启 Docker 守护进程:
systemctl restart docker
管理镜像。本文以 Docker Hub 的 Nginx 镜像为例。
docker pull nginx
修改标签:您可以修改镜像标签以便记忆区分。
docker tag docker.io/nginx:latest tencentyun/nginx:v1
查看已有镜像:
docker images
强制删除镜像:
docker rmi -f tencentyun/nginx:v1
管理容器。
进入容器:
docker run -it ImageId /bin/bash
其中,ImageId 可通过执行 docker images 命令获取。
退出容器:执行 exit 命令,退出当前容器。
进入后台运行的容器:
docker exec -it 容器 ID /bin/bash
将容器做成镜像:
docker commit <容器 ID 或容器名> [<仓库名>[:<标签>]]
例如:
docker commit 1c23456cd7**** tencentyun/nginx:v2
制作镜像
1. 执行以下命令,打开 Dockerfile 文件。
vim Dockerfile
2. 按 i 切换至编辑模式,添加如下内容。
FROM tencentyun/nginx:v2 #声明基础镜像来源。
MAINTAINER DTSTACK #声明镜像拥有者。
RUN mkdir /dtstact # RUN 后面接容器运行前需要执行的命令,由于 Dockerfile 文件不能超过127行,因此当命令较多时建议写到脚本中执行。
ENTRYPOINT ping https://cloud.tencent.com/ #开机启动命令,此处最后一个命令需要是可在前台持续执行的命令,否则容器后台运行时会因为命令执行完而退出。
3. 按 Esc,输入 :wq,保存文件并返回。
4. 执行以下命令,构建镜像。
docker build -t nginxos:v1 . #.是 Dockerfile 文件的路径,不能忽略。
5. 执行以下命令,查看镜像是否创建成功。
docker images
6. 依次执行以下命令,运行容器并查看容器。
docker run -d nginxos:v1 #后台运行容器。
docker ps #查看当前运行中的容器。
docker ps -a #查看所有容器,包括未运行中的。
docker logs CONTAINER ID/NAME #如未查看到刚才运行的容器,则用容器 ID 或者名字查看启动日志排错。
7. 依次执行以下命令,制作镜像。
docker commit fb2844b6**** nginxweb:v2 #commit 参数后添加容器 ID 和构建新镜像的名称和版本号。
docker images #列出本地(已下载的和本地创建的)镜像。
8. 执行以下命令,将镜像推送至远程仓库。 默认推送到 Docker Hub。您需要先登录 Docker,为镜像绑定标签,将镜像命名为 Docker 用户名/镜像名:标签的格式,最终完成推送。
docker login #执行后输入镜像仓库用户名及密码
docker tag [镜像名]:[标签] [用户名]:[标签]
docker push [用户名]:[标签]
相关文章:
在云服务器搭建 Docker
操作场景 本文档介绍如何在腾讯云云服务器上搭建和使用 Docker。本文适用于熟悉 Linux 操作系统,刚开始使用腾讯云云服务器的开发者。如需了解更多关于 Docker 相关信息,请参见 Docker 官方。 说明: Windows Subsystem for Linuxÿ…...
Redis 的代理类注入失败,连不上 redis
在测试 redis 是否成功连接时,发现 bean 没有被创建成功,导致报错 根据报错提示,需要我们添加依赖: <dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>&l…...
版本控制【Git Bash】【Gitee】
目录 一、什么是版本控制? 二、版本控制的种类: 1、本地版本控制 2、集中版本控制 3、分布式版本控制 三、下载Git Bash 四、Git Bash 配置 五、Git Bash使用 1、切换目录:cd 2.查看当前文件路径:pwd 3.列出当前目录下文件…...
Neo4j Desktop 和 Neo4j Community Edition 区别
Neo4j Desktop 和 Neo4j Community Edition 的主要区别在于它们的用途、功能以及安装和管理方式。以下是这两者的详细对比: 1. Neo4j Desktop Neo4j Desktop 是一个图形化的桌面应用程序,主要为开发人员和个人使用提供了一个便捷的环境来安装、管理和运…...
使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法
在使用uniapp开发微信小程序时候,过多的引入uni_modules的组件库,会导致主包文件过大,导致无法上传微信小程序,主包要求大小不超过1.5MB.分包大小每个不能超过2M。 解决方法:分包。 1.对每个除了主页面navbar的页面进…...
HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)事件推荐开发者测试
意图框架向开发者提供真机测试能力,即开发者可连接设备进行调测。开发者完成代码开发之后,功能正式上架应用市场前,可以在HarmonyOS NEXT设备上面进行自验证,打磨体验。真机测试分为三个步骤:基础信息提供,…...
GD32F103 实践-- MCU编译运行
编译 打开固件库示例工程:在SDK路径下找到固件库示例工程,路径通常是SDK\GD32F10x_Firmware_Library_Template\Keil5_project\Project 选择芯片型号:根据你的MCU型号选择,例如GD32F103RCT6 修改宏定义:根据MCU型号修…...
SQL复杂数据类型处理
背景 数据处理中,经常碰到复杂数据类型,需要将他们进行解析才能利用。 复杂数据类型 1、MAP结构转为列 WITH tmp AS ( SELECT {"Users":{"4418":{"UserId":4418,"Score":0,"IsStudent":true},&q…...
ROS第九梯:ROS+VSCode+Python+C++自定义消息发布和订阅
首先,Python版本的ROS项目和C++版本的ROS项目前期创建功能包的步骤基本一致,具体可参考第二章。 费一步:新建msg文件 在功能包(data_input)目录下创建一个msg文件夹,并在msg文件夹下创建一个名为Box的msg文件,具体如下图所示: 该msg文件为一个用于描述3D Box的文件,…...
【Linux】指令 + 压缩与解压
Linux 一.Linux基本指令1.grep2.zip和unzip1.Linux中的压缩文件发送Windows中2.Linux中接收Windows中压缩文件 3.tar(重要)1.Linux与Linux互传压缩文件 4.bc5.uname 二.Linux相关知识点1.Linux常用热键2.关机操作 一.Linux基本指令 1.grep 行文本过滤工…...
力扣(leetcode)题目总结——动态规划篇
leetcode 经典题分类 链表数组字符串哈希表二分法双指针滑动窗口递归/回溯动态规划二叉树辅助栈 本系列专栏:点击进入 leetcode题目分类 关注走一波 前言:本系列文章初衷是为了按类别整理出力扣(leetcode)最经典题目,…...
数据仓库数据湖湖仓一体解决方案
一、资料介绍 数据仓库与数据湖是现代数据管理的两大核心概念。数据仓库是结构化的数据存储仓库,用于支持企业的决策分析,其数据经过清洗、整合,以固定的模式存储,适合复杂查询。数据湖则是一个集中存储大量原始数据的存储库&…...
微信小程序 最新获取用户头像以及用户名
一.在小程序改版为了安全起见 使用用户填写来获取头像以及用户名 二.代码实现 <view class"login_box"><!-- 头像 --><view class"avator_box"><button wx:if"{{ !userInfo.avatarUrl }}" class"avatorbtn" op…...
无人机在森林中的应用!
一、森林资源调查 无人机可以利用遥感技术快速获取所需区域高精度的空间遥感信息,对森林图斑进行精确区划。相较于传统手段,无人机调查具有低成本、高效率、高时效的特点,尤其在地理环境条件不好的区域,调查人员无法或难以到达的…...
Seatunnel解决Excel中无法将数字类型转换成字符串类型以及源码打包
需求 需要实现将Excel中的数字类型的单元格像数据库中字符串类型的字段中推送 问题原因 Seatunnel在读取字段类型的时候都是使用强转的形式去获取数据的 假如说数据类型不一样的话直接强转就会报错 修改位置 org/apache/seatunnel/api/table/type/SeaTunnelRow.java org…...
在阿里云快速启动Appsmith搭建前端页面
什么是Appsmith Appsmith是一个开源的低代码开发平台,它使得开发者能够快速地构建内部工具、业务管理系统、CRM系统等。Appsmith通过提供一系列预建的UI组件(如表格、图表、表单等),以及对数据库、API调用的直接支持,…...
「51媒体」:企业成长助推器
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 「51媒体」(51meiti media PR)作为国内具有影响力的媒体邀约服务商,确实在助力企业成长方面发挥着重要作用。以下是对「51媒体」的详细介绍࿰…...
安全、便捷、效率高,明达边缘计算网关助力制药装备企业远程调机
随着药厂对设备运维需求的增长,制药装备企业需要在提高运维效率的同时,降低人工及差旅成本。制药装备因其数据具有高度的保密性,要求运维工程师提供安全可靠的远程调试方式。本案例介绍了明达技术MBox20系列5口WIFI通用网关在制药装备上的应用…...
海康威视和大华视频设备对接方案
目录 一、海康威视 【老版本】 【新版本】 二、大华 一、海康威视 【老版本】 URL规定: rtsp://username:password[ipaddress]/[videotype]/ch[number]/[streamtype] 注:VLC可以支持解析URL里的用户名密码,实际发给设备的RTSP请求不支…...
用DMA来自动控制PWM的输出(音频输出,交直流转换)
一、前提分析 举例:一首歌所包含的音阶有高有低,而按照某种编曲的顺序排列也就对应了不同的频率(五线谱:1234567 对应的音阶各不相同)所以频率可以理解为它的源头。频率的来源又可由PWM来控制故而一首歌所包含的频率序…...
ScanTailor Advanced终极指南:免费开源扫描文档处理完整解决方案
ScanTailor Advanced终极指南:免费开源扫描文档处理完整解决方案 【免费下载链接】scantailor-advanced ScanTailor Advanced is the version that merges the features of the ScanTailor Featured and ScanTailor Enhanced versions, brings new ones and fixes. …...
CasRel在电商商品知识图谱中的应用:标题-品牌-品类-功效三元组生成
CasRel在电商商品知识图谱中的应用:标题-品牌-品类-功效三元组生成 1. 理解CasRel关系抽取模型 CasRel(Cascade Binary Tagging Framework)是一个专门从文本中自动提取结构化信息的智能模型。想象一下,你有一大段描述商品的文字…...
如何突破原神60帧限制?genshin-fps-unlock带来的视觉体验升级
如何突破原神60帧限制?genshin-fps-unlock带来的视觉体验升级 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 3大核心收益:更高帧率、更流畅操作、零风险体验 问…...
TinyXML2性能优化终极指南:10个技巧让XML处理速度飙升
TinyXML2性能优化终极指南:10个技巧让XML处理速度飙升 【免费下载链接】tinyxml2 TinyXML2 is a simple, small, efficient, C XML parser that can be easily integrated into other programs. 项目地址: https://gitcode.com/gh_mirrors/ti/tinyxml2 TinyX…...
Madgwick算法详解:9轴IMU嵌入式姿态解算实战
1. Madgwick姿态解算算法库深度解析:面向9轴IMU的嵌入式实时姿态估计实现1.1 算法背景与工程定位Madgwick姿态解算算法由Sebastian Madgwick于2010年提出,是一种基于梯度下降优化的互补滤波器(Complementary Filter),专…...
Qwen3-ASR-0.6B开发者案例:为小程序集成实时语音转写能力的技术路径
Qwen3-ASR-0.6B开发者案例:为小程序集成实时语音转写能力的技术路径 1. 项目背景与需求 最近接到一个很有意思的需求:一家在线教育公司想要在他们的微信小程序里加入实时语音转写功能。想象一下这个场景——老师在手机上讲课,学生的手机屏幕…...
高效智能的百度网盘提取码查询工具:baidupankey使用指南
高效智能的百度网盘提取码查询工具:baidupankey使用指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 在数字化时代,百度网盘已成为我们存储和分享文件的重要平台。然而,加密分享链接的提…...
Visual C++ Redistributable开源项目故障排除终极指南:从问题诊断到系统优化
Visual C Redistributable开源项目故障排除终极指南:从问题诊断到系统优化 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 开源项目故障排除是开发者…...
Keil环境下C与汇编混合编程实战:从参数传递到函数调用
1. 为什么需要C与汇编混合编程? 在嵌入式开发领域,C语言因其可移植性和开发效率成为主流选择,但当你需要精确控制硬件时序或优化关键代码段时,汇编语言的优势就显现出来了。我曾在电机控制项目中遇到一个典型场景:用C语…...
3个技巧快速解锁百度网盘SVIP下载特权
3个技巧快速解锁百度网盘SVIP下载特权 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 你是否曾因百度网盘Mac版的下载速度而苦恼?普通用户下…...
