惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Cloudflare Blog
U
Unit 42
D
Docker
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
Recent Announcements
Recent Announcements
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI
V
Visual Studio Blog
I
InfoQ
Google DeepMind News
Google DeepMind News
小众软件
小众软件
L
LangChain Blog
C
Check Point Blog
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
J
Java Code Geeks
罗磊的独立博客

草东日记

在这里,世界很大,烦恼很小 - 草东日记 魔兽世界插件 · 队伍查找器 - 草东日记 魔兽世界插件 · 队伍查找器 - 草东日记 魔兽世界插件 · 大秘境钥石助手 - 草东日记 魔兽世界插件 · 大秘境钥石助手 - 草东日记 魔兽世界插件 · 目标标记助手 - 草东日记 网易云音乐播放器插件 - 草东日记 一只未熄灭的烟头,照出了四川控烟新规的尴尬 - 草东日记 CRON 表达式 - 草东日记 这一刻,万象更新 - 草东日记 零下 42 度,冻醒了心事 - 草东日记 NetEase Music Player Demo - 草东日记 FavLink Demo - 草东日记 MacOS Dock Demo - 草东日记 Linux 服务器挂载云硬盘保姆教程 - 草东日记 [骗子] 陈庆洋 · 流窜于成都 - 草东日记 [骗子] 赵永奇 · 流窜于陕、川、渝 - 草东日记 小米路由器BE7000 · 解锁SSH开启发烧之旅 - 草东日记 小米路由器BE6500 Pro · 解锁SSH开启发烧之旅 - 草东日记 小米万兆路由器 · 解锁SSH开启发烧之旅 - 草东日记 日常训练 #10 - 草东日记 日常训练 #9 - 草东日记 日常训练 #8 - 草东日记 日常训练 #7 - 草东日记
在你的Linux设备上搭建Docker - 草东日记
草东日记 · 2024-04-22 · via 草东日记

引言

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

示例操作系统

本文使用云服务器实例操作系统以 CentOS 8.2 为例。

提示

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

添加 Docker 软件源

dnf config-manager --add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo

查看已添加的 Docker 软件源

dnf list docker-ce

安装 Docker

dnf install -y docker-ce --nobest

运行 Docker

systemctl start docker

检查安装结果

docker info

返回如下信息,即表示安装成功。

[root@CentOS ~]Kernel Version: 5.4.119-19.0009.40 Operating System: Centos 8.2 (Final) OSType: linux Architecture: x86_64 CPUs: 16 Total Memory: 63.392GiB Name: CentOS ID: 1x0x0x00-1x00-0000-x0xx-xxxx0x0x0000 Docker Root Dir: /var/lib/docker Debug Mode: false Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

[root@Centos ~] #

使用 Docker

管理 Docker 守护进程

运行 Docker 守护进程:

systemctl start docker

停止 Docker 守护进程:

systemctl stop docker

重启 Docker 守护进程:

systemctl restart docker

管理镜像

本文以 Docker Hub 的 Nginx 镜像为例。

下载 Nginx 镜像

docker pull nginx 

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

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

强制删除镜像:

docker rmi -f tencentyun/nginx:v1

管理容器

进入容器:

docker run -it ImageId /bin/bash

其中,ImageId 可通过执行 docker images 命令获取。

进入后台运行的容器:

docker exec -it 容器 ID /bin/bash

将容器做成镜像:

docker commit <容器 ID 或容器名> [<仓库名>[:<标签>]]

例如:

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

制作镜像

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

vim Dockerfile

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

FROM tencentyun/nginx:v2  #声明基础镜像来源。
MAINTAINER DTSTACK #声明镜像拥有者。
RUN mkdir /dtstact # RUN 后面接容器运行前需要执行的命令,由于 Dockerfile 文件不能超过127行,因此当命令较多时建议写到脚本中执行。
ENTRYPOINT ping https://cloud.tencent.com/ #开机启动命令,此处最后一个命令需要是可在前台持续执行的命令,否则容器后台运行时会因为命令执行完而退出。

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

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

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

docker images

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

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

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

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

执行以下命令,将镜像推送至远程仓库。

默认推送到 Docker Hub。您需要先登录 Docker,为镜像绑定标签,将镜像命名为 Docker 用户名/镜像名:标签 的格式,最终完成推送。

docker login #执行后输入镜像仓库用户名及密码
docker tag [镜像名]:[标签] [用户名]:[标签]
docker push [用户名]:[标签]

Docker Hub 官网 进行查看。">推送完成后,即可使用浏览器登录 Docker Hub 官网 进行查看。

扩展阅读