云服务器 搭建 Docker

这篇档介绍如何在腾讯云云服务器上搭建和使用 Docker。这篇适用于熟悉 Linux 操作系统,刚开始使用腾讯云云服务器的开发者。

相关产品
云服务器 产品页,含版本规格、价格与购买入口。

一、操作场景

注意:说明:

二、示例操作系统

这篇使用云服务器实例操作系统以腾讯云公共镜像的 TencentOS Server 4、TencentOS Server 3、CentOS 8.2、CentOS 7.9、Ubuntu 22.04、Debian 12.5、OpenCloudOS 9.0、OpenCloudOS 8.0为例。

若你使用 TencentOS Server 2.4 (TK4) 操作系统,镜像已预置 Docker,无需再次安装,可参见 使用 Docker 直接开始使用。

三、前提条件

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

注意:说明:

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

四、安装 Docker

根据你使用的操作系统版本,执行以下操作步骤:

1. 使用 OrcaTerm 方式登录 Linux 实例(推荐)。

2. 安装 Docker。

TencentOS Server 4TencentOS Server 3CentOS 8.2CentOS 7.9Ubuntu 22.04Debian 12.5OpenCloudOS 9.0OpenCloudOS 8.01. 该版本操作系统公共镜像已预置腾讯云的 docker 源,可执行以下命令,安装 Docker。sudo yum install docker -y2. 执行以下命令,运行 Docker。sudo systemctl start docker3. 执行以下命令,检查安装结果。sudo docker info返回如下信息,即表示安装成功。1. 该版本操作系统公共镜像已预置腾讯云的 docker-ce 源,可执行以下命令,安装 Docker。sudo dnf install -y docker-ce –nobest2. 执行以下命令,运行 Docker。sudo systemctl start docker3. 执行以下命令,检查安装结果。sudo docker info返回如下信息,即表示安装成功。1. 执行以下命令,添加 Docker 软件源并配置为腾讯云源。sudo dnf config-manager –add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.reposudo sed -i "s/download.docker.com/mirrors.tencentyun.com\\/docker-ce/g" /etc/yum.repos.d/docker-ce.repo2. 执行以下命令,查看已添加的 Docker 软件源。sudo dnf list docker-ce3. 执行以下命令,安装 Docker。sudo dnf install -y docker-ce –nobest4. 执行以下命令,运行 Docker。sudo systemctl start docker5. 执行以下命令,检查安装结果。sudo docker info返回如下信息,即表示安装成功。
1. 执行以下命令,添加 Docker 软件源并配置为腾讯云源。sudo yum-config-manager –add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.reposudo sed -i "s/download.docker.com/mirrors.tencentyun.com\\/docker-ce/g" /etc/yum.repos.d/docker-ce.repo2. 执行以下命令,查看已添加的 Docker 软件源。sudo yum list docker-ce3. 执行以下命令,安装 Docker。sudo yum install -y docker-ce 4. 执行以下命令,运行 Docker。sudo systemctl start docker5. 执行以下命令,检查安装结果。sudo docker info返回如下信息,即表示安装成功。 1. 执行以下命令,添加 Docker 软件源。sudo apt-get updatesudo apt-get install ca-certificates curl -ysudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.ascecho "deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/ \\ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update2. 执行以下命令,安装 Docker。sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin3. 执行以下命令,运行 Docker。sudo systemctl start docker4. 执行以下命令,检查安装结果。sudo docker info返回如下信息,即表示安装成功。 1. 执行以下命令,添加 Docker 软件源。sudo apt-get updatesudo apt-get install ca-certificates curl -ysudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.ascecho "deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.cloud.tencent.com/docker-ce/linux/debian/ \\
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update2. 执行以下命令,安装 Docker。sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 3. 执行以下命令,运行 Docker。sudo systemctl start docker 4. 执行以下命令,检查安装结果。sudo docker info返回如下信息,则表示安装成功。 1. 执行以下命令,安装 Docker。sudo yum install docker -y2. 执行以下命令,运行 Docker。sudo systemctl start docker3. 执行以下命令,检查安装结果。sudo docker info返回如下信息,即表示安装成功。1. 执行以下命令,添加 Docker 软件源并配置为腾讯云源。sudo dnf config-manager –add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.reposudo sed -i "s/download.docker.com/mirrors.tencentyun.com\\/docker-ce/g" /etc/yum.repos.d/docker-ce.repo2. 执行以下命令,查看已添加的 Docker 软件源。sudo dnf list docker-ce3. 执行以下命令,安装 Docker。sudo dnf install -y docker-ce –nobest4. 执行以下命令,运行 Docker。sudo systemctl start docker5. 执行以下命令,检查安装结果。sudo docker info返回如下信息,即表示安装成功。

五、使用 Docker

Docker 的基本使用命令如下:

·管理 Docker 守护进程。

·运行 Docker 守护进程:

sudo systemctl start docker

·停止 Docker 守护进程,会导致 docker 容器业务中断,需评估好业务影响再操作:

sudo systemctl stop docker

·重启 Docker 守护进程:

sudo systemctl restart docker

·管理镜像。这篇以 Docker Hub 的 Nginx 镜像为例。

sudo docker pull nginx

注意:如果 docker pull 命令报错 “Get "https://registry-1.docker.io/v2/": xxxxx (Client.Timeout exceeded while awaiting headers)” 则说明是网络问题,建议参考 使用腾讯云镜像源加速 Docker 更换源。

·修改标签:你可以修改镜像标签以便记忆区分。

sudo docker tag docker.io/nginx:latest tencentyun/nginx:v1

·查看已有镜像:

sudo docker images

·强制删除镜像,会导致对应镜像被删除,需评估好影响再操作:

sudo docker rmi -f tencentyun/nginx:v1

·管理容器。

·运行并进入容器:

sudo docker run -it ImageId /bin/bash

其中,ImageId 可通过执行 docker images 命令获取。直接退出当前 SSH 连接的窗口或者通过 “Ctrl+p 接 Ctrl+q” 组合按键将进入的容器放到后台。

·在后台运行的容器里新执行一个 bash 进程:

sudo docker exec -it Container_ID /bin/bash

通过执行 exit 命令退出 bash 进程。

·查看后台容器:

sudo docker ps # 查看运行中的容器sudo docker ps -a # 查看所有容器

·重新启动已退出的容器:

docker start Container_ID

已退出的容器可以用 sudo docker ps -a 命令查询到,命令输出的 STATUS 列包含 “Exited” 的就是已退出的容器。

·将容器做成镜像:

sudo docker commit Container_ID [REPOSITORY[:TAG]]

例如:

sudo docker commit 1c23456cd7**** tencentyun/nginx:v2

六、制作镜像

1. 执行以下命令,打开 Dockerfile 文件。

vim Dockerfile

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

#声明基础镜像来源。FROM tencentyun/nginx:v2#声明镜像拥有者。MAINTAINER DTSTACK#RUN 后面接容器运行前需要执行的命令。RUN mkdir /dtstactRUN apt update && apt install -y iputils-ping#开机启动命令,此处最后一个命令需要是可在前台持续执行的命令,否则容器后台运行时会因为命令执行完而退出。ENTRYPOINT ping cloud.tencent.com

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

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

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

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

sudo docker images

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

sudo docker run -d nginxos:v1 #后台运行容器。sudo docker ps #查看当前运行中的容器。sudo docker ps -a #查看所有容器,包括未运行中的。sudo docker logs CONTAINER ID/NAME #如未查看到刚才运行的容器,则用容器 ID 或者名字查看启动日志排错。

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

sudo docker commit fb2844b6**** nginxweb:v2 #commit 参数后添加容器 ID 和构建新镜像的名称和版本号。sudo docker images #列出本地(已下载的和本地创建的)镜像。

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

sudo docker login #执行后输入镜像仓库用户名及密码sudo docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] #为本地镜像打上“仓库路径+标签”sudo docker push TARGET_IMAGE[:TAG] #推送目标镜像到远程仓库

推送完成后,即可使用浏览器登录 Docker Hub 页面 进行查看。

赞 (0)
上一篇 4天前
下一篇 4天前