腾讯云服务器如何搭建Docker?

2023-11-05

本文档介绍如何在腾讯云云服务器上搭建和使用 Docker。本文适用于熟悉 Linux 操作系统,刚开始使用腾讯云云服务器的开发者。如需了解更多关于 Docker 相关信息,请参见 Docker 官方文档

说明

若您需在 Windows 操作系统的云服务器上搭建和使用 Docker,请参考 在 Windows 上安装 Docker 桌面

示例操作系统

本文使用云服务器实例操作系统以 CentOS 8.2 及 7.6 为例。
若您使用了 TencentOS Server 操作系统,则需对应实际版本进行操作:

  • TencentOS Server 2.4:镜像已预置 Docker,无需再次安装。
  • TencentOS Server 3.1 (TK4):请参考文档步骤进行搭建。

前提条件

已购买 Linux 云服务器。如果您还未购买云服务器,请参考 快速配置 Linux 云服务器

说明

搭建 Docker 必须使用64位系统,且内核版本至少为3.10。

操作步骤

安装 Docker

可根据实际使用的操作系统版本,对应以下步骤进行操作:

  1. 使用标准方式登录 Linux 实例(推荐)
  2. 执行以下命令,添加 Docker 软件源。
    dnf config-manager --add-repo=http://mirrors.tencent.com/docker-ce/linux/centos/docker-ce.repo
  3. 执行以下命令,查看已添加的 Docker 软件源。
    dnf list docker-ce
  4. 执行以下命令,安装 Docker。
    dnf install -y docker-ce --nobest
  5. 执行以下命令,运行 Docker。
    systemctl start docker
  6. 执行以下命令,检查安装结果。
    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/IMAGE   #如未查看到刚才运行的容器,则用容器 ID 或者名字查看启动日志排错。
  7. 依次执行以下命令,制作镜像。
    docker commit fb2844b6**** nginxweb:v2 #commit 参数后添加容器 ID 和构建新镜像的名称和版本号。
    docker images                    #列出本地(已下载的和本地创建的)镜像。
  8. 执行以下命令,将镜像推送至远程仓库。
    默认推送到 Docker Hub。您需要先登录 Docker,为镜像绑定标签,将镜像命名为 Docker 用户名/镜像名:标签的格式,最终完成推送。
    docker login #执行后输入镜像仓库用户名及密码
    docker tag [镜像名]:[标签] [用户名]:[标签]
    docker push [用户名]:[标签]

     原文参考:腾讯云服务器如何搭建Docker-小白上云网

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

腾讯云服务器如何搭建Docker? 的相关文章

  • 嵌入清单文件以要求具有 mingw32 的管理员执行级别

    我正在 ubuntu 下使用 i586 mingw32msvc 交叉编译应用程序 我很难理解如何嵌入清单文件以要求 mingw32 具有管理员执行级别 对于我的例子 我使用了这个hello c int main return 0 这个资源文
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • 为什么 Linux 没有 DirectX API?

    在考虑现代显卡的 Windows 系统上 DirectX API 的驱动程序端实现时 我想知道为什么此实现在非 Windows 系统 尤其是 Linux 上不可用 由于明显缺乏此功能 我只能假设有一个我无视的充分理由 但在我的原始理解中 我
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • docker 非 root 绑定安装权限,WITH --userns-remap

    all 尝试让绑定安装权限正常工作 我的目标是在容器中绑定安装卷 以便 a 容器不以 root 用户身份运行入口点 二 docker daemon 配置了 userns remap 这样容器 主机上没有 root c 我可以绑定挂载和读 写
  • linux-x64 二进制文件无法在 linuxmusl-x64 平台上使用错误

    我正在安装Sharp用于使用 package json 的 Nodejs 项目的 docker 映像上的映像压缩包 当我创建容器时 我收到有关 Sharp 包的以下错误 app node modules sharp lib libvips
  • 如何阻止ubuntu在使用apt安装或更新软件包时弹出“Daemons using outdatedlibraries”? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我最近新安装了 Ubuntu 22 04 LTS 我发现每次使用 apt 安装或更新软件包时 它都会询问我有关Which servic
  • 使用非规范地址检索内存数据会导致 SIGSEGV 而不是 SIGBUS

    我无法使用以下汇编代码产生 总线错误 这里我使用的内存地址不是合法的 规范地址 那么 我怎样才能触发该错误呢 我在带有 NASM 2 14 02 的 Ubuntu 20 04 LTS 下运行这段代码 但它会导致负载出现 SIGSEGV 分段
  • 如何根据标签将单个 XML 文件拆分为多个

    我有一个带有标签的 XML 文件 我想像这样分割文件
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • Bash - 在与当前终端分开的另一个终端中启动命令的新实例

    我有一个简单的 bash 脚本 test sh 设置如下 bin bash args if args 0 check capture then watch n 1 ls lag home user capture0 watch n 1 ls
  • 如何使用waf构建共享库?

    我想使用构建一个共享库waf http code google com p waf 因为它看起来比 GNU 自动工具更容易 更简洁 到目前为止 我实际上有几个与我开始编写的 wscript 有关的问题 VERSION 0 0 1 APPNA
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • Linux 为一组进程保留一个处理器(动态)

    有没有办法将处理器排除在正常调度之外 也就是说 使用sched setaffinity我可以指示线程应该在哪个处理器上运行 但我正在寻找相反的情况 也就是说 我想从正常调度中排除给定的处理器 以便只有已明确调度的进程才能在那里运行 我还知道

随机推荐

  • warning negative label/yolo标签出现负值?

    问题如上图所示 出现场景 图像增强后 xml文件转txt文件 解决方法1 无脑粗暴 一秒见效 直接把负值转成正值 不影响标注与训练结果 代码如下 import os def process files in folder folder pa
  • BLE低功耗的设置参数

    广播间隔 连接间隔 扫描间隔 扫描窗口 广播间隔 两个相邻广播事件之间的时间称为广播间隔 可以选择 20ms 10 28s 不等的间隔 通常 一个广播中的设备会每一秒广播一次 必须是 0 625ms 的整数倍 由于设备间的时钟会不同程度的漂
  • f12弹出debug_360浏览器网站按f12弹出新窗口解决办法

    为何有些网站在360浏览器中按f12弹出新窗口 而不是在当前页面右侧出现调试部分呢 对于网站开发人员来说 我们需要得到的是在当前页面出现调试结果 不管是本地测试文件还是已经上线的网站 这里成都seo小冬 总结了下面三点 一起来试试吧 1 切
  • Nali:一个离线查询 IP 地理信息和 CDN 提供商的终端利器

    什么是 Nali dig nslookup traceroute 等都是非常实用的网络调试工具 Nali 是一个可以自动解析这些工具 stdout 中的 IP 并附上所属 ISP 和地理信息 对这些已是瑞士军刀般的工具可谓如虎添翼 Nali
  • 力扣(LeetCode)每日一题 LCP 50. 宝石补给

    简单题 不用解释直接看代码 class Solution public int giveGem int gem int operations for int i 0 i
  • Qt笔记(六十)之Qt实现无边框圆角窗口

    一 前言 设置无边框窗口之后 就会显示直角的风格 有用户反馈说 看着太锐了 让我给换成圆角 看着舒服一点 楼主一开始想用Qss实现 发现实在不行 后边想着 估计只能用绘图事件来操作了 二 实现过程 1 实现窗口无边框效果 setWindow
  • java实现mysql数据库增删改查

    本文将介绍java实现数据库增删改查的操作方法定义的代码 包括statment和preparestatment两种模式 两种的区别可以参考别的文章 按需选用 例 getdata是statment的查询的方法 pgetdata是prepare
  • flutter获取验证码输入框组件

    代码 import package flutter material dart class ValidataInputBoxWidget extends StatefulWidget ValidataInputBoxWidget Key k
  • dedecms列表页上一页下一页翻页单独调用的方法

    本文实例讲述了dedecms列表页上一页下一页翻页单独调用的方法 分享给大家供大家参考 具体实现方法如下 在列表页单独调用上一页和下一页 以及首页 简单搞了一下 仅作上下翻页 主页类似 可自行添加 在模板中以 复制代码代码如下 dede p
  • c++11中的tuple(元组)

    转自 http www cnblogs com qicosmos p 3318070 html 这次要讲的内容是 c 11中的tuple 元组 tuple看似简单 其实它是简约而不简单 可以说它是c 11中一个既简单又复杂的东东 关于它简单
  • [深入研究4G/5G/6G专题-61]: 关键概念和常见问题之Cell, UE 上下文, RRC连接,PDU会话, ,SRB Bear, DRB Bear,Qos Flow,

    目录 第1章 协议栈与承载 1 1 LTE空口协议栈 1 2 5G 空口协议栈 第2章 L3关键数据对象的层次架构
  • 一个关于malloc的面试题

    发表于1年前 2014 04 04 13 31 阅读 176 评论 0 9人收藏此文章 我要收藏 赞0 慕课网 程序员升职加薪神器 点击免费学习 前两天看了一个关于malloc的面试题 题目是这样的 1 2 3 4 5
  • 智慧城市视域下政府数据开放共享机制研究

    大数据背景下 基于对数据挖掘和运用基础上的智慧城市建设是城市发展的必然趋势 是新时期实现城市科学发展 高效管理与公共服务更优化的重要战略 政府作为社会管理 城市治理的主体 其形成 管理的数据资源约占全社会总量的80 对其进行有效治理将使数据
  • 程序员被裁,在互联网上该何去何从?

    你一直以来都是一名互联网程序员 而现在你却被裁了 你感到无助和迷茫 不知道该往哪里走 这是一个常见的问题 但是不要担心 我们来看看你未来有哪些方向可以选择 转行去做别的 首先 如果你对现在的工作感到厌倦或者想要寻找新的挑战 你可以考虑转行去
  • JAVA输出语句

    带回车的输出 System out println 输出内容 不带回车的输出 System out print 输出内容 拼接输出 int a 5 System out println a的值为 a
  • 风格迁移背后原理及tensorflow实现

    前言 本文将详细介绍 tf 实现风格迁移的小demo 看完这篇就可以去实现自己的风格迁移了 复现的算法来自论文 Perceptual P e r c e p t u a l
  • Centos 环境下安装tree命令

    sudo yum y install tree
  • 修改Linux系统时间EDT改为CST

    今天发现一台服务器时间比北京时间慢 12 个小时 使用 date 命令后发现是 root ubuntu date Thu Mar 22 5 12 08 EDT 2018 EDT 时间即美国东部时间 这里要改为北京时间即可 命令如下 root
  • 牛客 AB29 快速乘 JAVA

    描述 请你计算 a b mod p 的值 要求只能使用加法和取模运算 且计算过程中的值不能超过 2 1072 107 一共有 q 次询问 输入描述 第一行输入一个正整数 q 代表询问次数 接下来每行输入三个正整数 a b p 代表一次询问
  • 腾讯云服务器如何搭建Docker?

    本文档介绍如何在腾讯云云服务器上搭建和使用 Docker 本文适用于熟悉 Linux 操作系统 刚开始使用腾讯云云服务器的开发者 如需了解更多关于 Docker 相关信息 请参见 Docker 官方文档 说明 若您需在 Windows 操作