在云服务器搭建 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

  1. 执行以下命令,查看已添加的 Docker 软件源。

dnf list docker-ce

  1. 执行以下命令,安装 Docker。

dnf install -y docker-ce --nobest

  1. 执行以下命令,运行 Docker。

systemctl start docker

  1. 执行以下命令,检查安装结果。

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

  1. i 切换至编辑模式,添加如下内容。

FROM tencentyun/nginx:v2 #声明基础镜像来源。

MAINTAINER DTSTACK #声明镜像拥有者。

RUN mkdir /dtstact # RUN 后面接容器运行前需要执行的命令,由于 Dockerfile 文件不能超过127行,因此当命令较多时建议写到脚本中执行。

ENTRYPOINT ping https://cloud.tencent.com/ #开机启动命令,此处最后一个命令需要是可在前台持续执行的命令,否则容器后台运行时会因为命令执行完而退出。

  1. Esc ,输入 :wq,保存文件并返回。

  2. 执行以下命令,构建镜像。

docker build -t nginxos:v1 . #.是 Dockerfile 文件的路径,不能忽略。

  1. 执行以下命令,查看镜像是否创建成功。

docker images

  1. 依次执行以下命令,运行容器并查看容器。

docker run -d nginxos:v1 #后台运行容器。

docker ps #查看当前运行中的容器。

docker ps -a #查看所有容器,包括未运行中的。

docker logs CONTAINER ID/NAME #如未查看到刚才运行的容器,则用容器 ID 或者名字查看启动日志排错。

  1. 依次执行以下命令,制作镜像。

docker commit fb2844b6**** nginxweb:v2 #commit 参数后添加容器 ID 和构建新镜像的名称和版本号。

docker images #列出本地(已下载的和本地创建的)镜像。

  1. 执行以下命令,将镜像推送至远程仓库。 默认推送到 Docker Hub。您需要先登录 Docker,为镜像绑定标签,将镜像命名为 Docker 用户名/镜像名:标签的格式,最终完成推送。

docker login #执行后输入镜像仓库用户名及密码

docker tag [镜像名]:[标签] [用户名]:[标签]

docker push [用户名]:[标签]

相关推荐
代码的余温19 分钟前
Linux内核调优实战指南
linux·服务器·数据库
is081534 分钟前
NFS 服务器 使用
服务器·网络
m0_694845571 小时前
教你使用服务器如何搭建数据库
linux·运维·服务器·数据库·云计算
文弱书生6563 小时前
5.后台运行设置和包设计与实现
服务器·开发语言·c#
不会c嘎嘎3 小时前
Linux -- 基于TCP服务器实现一个简单的电商网站
linux·服务器·tcp/ip
程序leo源3 小时前
Linux_基础指令(二)
android·linux·运维·服务器·青少年编程
eybk4 小时前
用python的socket写一个局域网传输文件的程序
服务器·网络·python
葵花日记4 小时前
LINUX--编译器gcc/g++
linux·运维·服务器
TG_yunshuguoji5 小时前
亚马逊云代理商:AWS亚马逊云的独特优势与实用价值
服务器·云计算·aws
啟明起鸣6 小时前
【网络编程】从与 TCP 服务器的对比中探讨出 UDP 协议服务器的并发方案(C 语言)
服务器·c语言·开发语言·网络·tcp/ip·udp