云服务器搭建Docker

云服务器搭建Docker

系统环境

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
~# cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
~# uname -a
Linux VM-4-13-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

搭建Docker

安装Docker

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# 1. 执行以下命令,添加 Docker 软件源
sudo apt-get update
sudo apt-get install ca-certificates curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo   "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/null
sudo apt-get update

# 2. 执行以下命令,安装 Docker
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 3. 执行以下命令,运行 Docker
sudo systemctl start docker

# 4. 执行以下命令,检查安装结果
sudo docker info
# 返回如下信息,即表示安装成功
<<'CONTENT'
Client: Docker Engine - Community
 Version:    29.3.0
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.31.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v5.1.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 29.3.0
 Storage Driver: overlayfs
  driver-type: io.containerd.snapshotter.v1
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 301b2dac98f15c27117da5c8af12118a041a31d9
 runc version: v1.3.4-0-gd6d73eb8
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.8.0-71-generic
 Operating System: Ubuntu 24.04 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.637GiB
 Name: VM-4-13-ubuntu
 ID: 7ba0d015-bc67-4fdf-aa10-22fb3cef9c62
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  ::1/128
  127.0.0.0/8
 Live Restore Enabled: false
 Firewall Backend: iptables
CONTENT

使用 Docker

Docker 的基本使用命令如下:
管理 Docker 守护进程
1
2
3
4
5
6
# 运行 Docker 守护进程:
sudo systemctl start docker
# 停止 Docker 守护进程:
sudo systemctl stop docker
# 重启 Docker 守护进程:
sudo systemctl restart docker
管理镜像。本文以 Docker Hub 的 Nginx 镜像为例
1
sudo docker pull nginx

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

1
2
3
4
5
6
# 修改标签:您可以修改镜像标签以便记忆区分。
sudo docker tag docker.io/nginx:latest tencentyun/nginx:v1
# 查看已有镜像:
sudo docker images
# 强制删除镜像:
sudo docker rmi -f tencentyun/nginx:v1
管理容器
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 运行并进入容器:
sudo docker run -it ImageId /bin/bash
# 其中,ImageId 可通过执行 docker images 命令获取。直接退出当前 SSH 连接的窗口或者通过 “Ctrl+p 接 Ctrl+q” 组合按键将进入的容器放到后台。

# 在后台运行的容器里新执行一个 bash 进程:
sudo docker exec -it 容器 ID /bin/bash
# 通过执行 exit 命令退出 bash 进程。

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

# 重新启动已退出的容器:
docker start <容器 ID>
# 已退出的容器可以用 sudo docker ps -a 命令查询到,命令输出的 STATUS 列包含 “Exited” 的就是已退出的容器。
将容器做成镜像
1
2
3
sudo docker commit <容器 ID 或容器名> [<仓库名>[:<标签>]]
# 例如:
sudo docker commit 1c23456cd7**** tencentyun/nginx:v2
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计