Administrator
发布于 2026-04-08 / 4 阅读
0
0

部署Dcoker

1.安装docker环境

[root@elk91 ~]#tar xf oldboyedu-autoinstall-docker-docker-compose.tar.gz 

[root@elk91 ~]#./install-docker.sh i

'/usr/bin/containerd' -> '/oldboyedu/softwares/docker/containerd'

'/usr/bin/containerd-shim' -> '/oldboyedu/softwares/docker/containerd-shim'

'/usr/bin/containerd-shim-runc-v2' -> '/oldboyedu/softwares/docker/containerd-shim-runc-v2'

'/usr/bin/ctr' -> '/oldboyedu/softwares/docker/ctr'

'/usr/bin/docker' -> '/oldboyedu/softwares/docker/docker'

'/usr/bin/docker-compose' -> '/oldboyedu/softwares/docker/docker-compose'

'/usr/bin/docker-init' -> '/oldboyedu/softwares/docker/docker-init'

'/usr/bin/docker-proxy' -> '/oldboyedu/softwares/docker/docker-proxy'

'/usr/bin/dockerd' -> '/oldboyedu/softwares/docker/dockerd'

'/usr/bin/runc' -> '/oldboyedu/softwares/docker/runc'

Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.

Client:

 Version:           20.10.24

 API version:       1.41

 Go version:        go1.19.7

 Git commit:        297e128

 Built:             Tue Apr  4 18:17:06 2023

 OS/Arch:           linux/amd64

 Context:           default

 Experimental:      true

Server: Docker Engine - Community

 Engine:

  Version:          20.10.24

  API version:      1.41 (minimum version 1.12)

  Go version:       go1.19.7

  Git commit:       5d6db84

  Built:            Tue Apr  4 18:23:02 2023

  OS/Arch:          linux/amd64

  Experimental:     false

 containerd:

  Version:          v1.6.20

  GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38

 runc:

  Version:          1.1.5

  GitCommit:        v1.1.5-0-gf19387a6

 docker-init:

  Version:          0.19.0

  GitCommit:        de40ad0

Docker Compose version v2.23.0

安装成功,欢迎使用尹正杰二进制docker安装脚本,欢迎下次使用!

2.安装完毕,检查docker信息 确认是否安装成功

[root@elk91 ~]#docker info
Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.24
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 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 logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
 runc version: v1.1.5-0-gf19387a6
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.15.0-173-generic
 Operating System: Ubuntu 22.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 1.882GiB
 Name: elk91
 ID: 3EJ2:WE2P:7Z24:EW7E:LQEU:TAGU:KUY3:R55V:GLCE:RG3P:IXAC:FW4F
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://tuv7rqqq.mirror.aliyuncs.com/
  https://docker.mirrors.ustc.edu.cn/
  https://hub-mirror.c.163.com/
  https://reg-mirror.qiniu.com/
 Live Restore Enabled: false
 Product License: Community Engine

3.docker环境初体验

1.下载镜像

[root@elk91 ~]#docker image pull registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1 
v1: Pulling from yinzhengjie-k8s/apps
5758d4e389a3: Pull complete 
51d66f629021: Pull complete 
ff9c6add3f30: Pull complete 
dcc43d9a97b4: Pull complete 
5dcfac0f2f9c: Pull complete 
2c6e86e57dfd: Pull complete 
2dd61e30a21a: Pull complete 
Digest: sha256:3bee216f250cfd2dbda1744d6849e27118845b8f4d55dda3ca3c6c1227cc2e5c
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1

2.查看镜像列表

方式一:
[root@elk91 ~]#docker image ls
REPOSITORY                                               TAG       IMAGE ID       CREATED       SIZE
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v1        f28fd43be4ad   2 years ago   23MB

方式二:
[root@elk91 ~]#docker images
REPOSITORY                                               TAG       IMAGE ID       CREATED       SIZE
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v1        f28fd43be4ad   2 years ago   23MB

3.启动容器

[root@elk91 ~]#docker container run -d  -p 81:80  --name xiuxian registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1 
736cde85ddb5f2a9cbb71f90dc038df1dca108f0ef763345368eaf8398b6e0bf

4.查看容器

[root@elk91 ~]#docker ps -a
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED              STATUS              PORTS                               NAMES
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian

5.访问测试

在浏览器输入10.0.0.91:81

一.docker常用的镜像管理命令

1.常用镜像基础管理

1.查看镜像列表
[root@elk91 ~]#docker image ls
REPOSITORY                                               TAG       IMAGE ID       CREATED       SIZE
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v1        f28fd43be4ad   2 years ago   23MB

2.拉取镜像
[root@elk91 ~]#docker image pull registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v2
v2: Pulling from yinzhengjie-k8s/apps
5758d4e389a3: Already exists 
51d66f629021: Already exists 
ff9c6add3f30: Already exists 
dcc43d9a97b4: Already exists 
5dcfac0f2f9c: Already exists 
2c6e86e57dfd: Already exists 
b07c4abce9eb: Pull complete 
Digest: sha256:3ac38ee6161e11f2341eda32be95dcc6746f587880f923d2d24a54c3a525227e
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v2
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v2

3.给镜像打标签
[root@elk91 ~]#docker image tag registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1 oldboyedu:xixi
[root@elk91 ~]#docker image ls
REPOSITORY                                               TAG       IMAGE ID       CREATED       SIZE
oldboyedu                                                xixi      f28fd43be4ad   2 years ago   23MB
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v1        f28fd43be4ad   2 years ago   23MB
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v2        d65adc8a2f32   2 years ago   22.9MB

4.删除镜像
[root@elk91 ~]#docker image rm oldboyedu:xixi 
Untagged: oldboyedu:xixi
[root@elk91 ~]#docker image ls
REPOSITORY                                               TAG       IMAGE ID       CREATED       SIZE
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v1        f28fd43be4ad   2 years ago   23MB
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v2        d65adc8a2f32   2 years ago   22.9MB

2.镜像的迁移

[root@elk91 ~]#docker image save registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1 > oldboyedu-xiuxian-v1.tar.gz
[root@elk91 ~]#docker image save registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v2 -o oldboyedu-xiuxian-v2.tar.gz 
[root@elk91 ~]#ll oldboyedu-xiuxian-*
-rw-r--r-- 1 root root 24512000 Apr  8 20:15 oldboyedu-xiuxian-v1.tar.gz
-rw------- 1 root root 24496128 Apr  8 20:16 oldboyedu-xiuxian-v2.tar.gz

2.将镜像拷贝到其他服务器

[root@elk91 ~]#scp oldboyedu-xiuxian-* 10.0.0.92:~
ssh: connect to host 10.0.0.92 port 22: No route to host
lost connection
[root@elk91 ~]#scp oldboyedu-xiuxian-* 10.0.0.92:~
root@10.0.0.92's password: 
oldboyedu-xiuxian-v1.tar.gz                                                                           100%   23MB  51.3MB/s   00:00    
oldboyedu-xiuxian-v2.tar.gz                                                                           100%   23MB  66.3MB/s   00:00    
[root@elk91 ~]#scp oldboyedu-autoinstall-docker-docker-compose.tar.gz 10.0.0.92:~
root@10.0.0.92's password: 
oldboyedu-autoinstall-docker-docker-compose.tar.gz 

3.在10.0.0.92服务器安装docker环境

-rw-r--r--  1 root root  84289454 Apr  8 20:20 oldboyedu-autoinstall-docker-docker-compose.tar.gz
-rw-r--r--  1 root root  24512000 Apr  8 20:20 oldboyedu-xiuxian-v1.tar.gz
-rw-------  1 root root  24496128 Apr  8 20:20 oldboyedu-xiuxian-v2.tar.gz
-rw-r--r--  1 root root      2048 Apr  1 22:46 passwd
drwx------  3 root root      4096 Nov 25 17:58 snap/
[root@elk92 ~]#tar xf oldboyedu-autoinstall-docker-docker-compose.tar.gz 
[root@elk92 ~]#./install-docker.sh i
'/usr/bin/containerd' -> '/oldboyedu/softwares/docker/containerd'
'/usr/bin/containerd-shim' -> '/oldboyedu/softwares/docker/containerd-shim'
'/usr/bin/containerd-shim-runc-v2' -> '/oldboyedu/softwares/docker/containerd-shim-runc-v2'
'/usr/bin/ctr' -> '/oldboyedu/softwares/docker/ctr'
'/usr/bin/docker' -> '/oldboyedu/softwares/docker/docker'
'/usr/bin/docker-compose' -> '/oldboyedu/softwares/docker/docker-compose'
'/usr/bin/docker-init' -> '/oldboyedu/softwares/docker/docker-init'
'/usr/bin/docker-proxy' -> '/oldboyedu/softwares/docker/docker-proxy'
'/usr/bin/dockerd' -> '/oldboyedu/softwares/docker/dockerd'
'/usr/bin/runc' -> '/oldboyedu/softwares/docker/runc'
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Client:
 Version:           20.10.24
 API version:       1.41
 Go version:        go1.19.7
 Git commit:        297e128
 Built:             Tue Apr  4 18:17:06 2023
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.24
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.19.7
  Git commit:       5d6db84
  Built:            Tue Apr  4 18:23:02 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.6.20
  GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38
 runc:
  Version:          1.1.5
  GitCommit:        v1.1.5-0-gf19387a6
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
Docker Compose version v2.23.0
安装成功,欢迎使用尹正杰二进制docker安装脚本,欢迎下次使用!

4.在10.0.0.92服务器导入镜像到本地

方式一:
[root@elk92 ~]#docker image load -i oldboyedu-xiuxian-v1.tar.gz 
7fcb75871b21: Loading layer [==================================================>]  5.904MB/5.904MB
15d7cdc64789: Loading layer [==================================================>]  18.32MB/18.32MB
5f66747c8a72: Loading layer [==================================================>]  3.072kB/3.072kB
c39c1c35e3e8: Loading layer [==================================================>]  4.096kB/4.096kB
b8dbe22b95f7: Loading layer [==================================================>]  3.584kB/3.584kB
9d5b000ce7c7: Loading layer [==================================================>]  7.168kB/7.168kB
8e2be8913e57: Loading layer [==================================================>]  238.1kB/238.1kB
Loaded image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
[root@elk92 ~]#docker image ls
REPOSITORY                                               TAG       IMAGE ID       CREATED       SIZE
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v1        f28fd43be4ad   2 years ago   23MB
方式二:
[root@elk92 ~]#docker image load < oldboyedu-xiuxian-v2.tar.gz 
4beb452b2498: Loading layer [==================================================>]  222.2kB/222.2kB
Loaded image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v2
[root@elk92 ~]#docker image ls
REPOSITORY                                               TAG       IMAGE ID       CREATED       SIZE
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v1        f28fd43be4ad   2 years ago   23MB
registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps   v2        d65adc8a2f32   2 years ago   22.9MB

二.docker常用的容器管理命令

1.容器的增删改查基础管理

1.查看容器列表
方式一:
[root@elk91 ~]#docker container ls
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED          STATUS          PORTS                               NAMES
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   34 minutes ago   Up 34 minutes   0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian
方式二:
[root@elk91 ~]#docker container ps
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED          STATUS          PORTS                               NAMES
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   35 minutes ago   Up 35 minutes   0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian
方式三:
[root@elk91 ~]#docker ps
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED          STATUS          PORTS                               NAMES
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   36 minutes ago   Up 36 minutes   0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian

2.创建容器并指定名称
[root@elk91 ~]#docker container  run --name c1 alpine:3.20.2  #"--name" 给容器起名字 
[root@elk91 ~]#docker container ps
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED          STATUS          PORTS                               NAMES
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   41 minutes ago   Up 41 minutes   0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian
[root@elk91 ~]#docker container ps -a # "-a"查看所有容器的状态
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED              STATUS                          PORTS                               NAMES
cfe072fd1b65   alpine:3.20.2                                               "/bin/sh"                About a minute ago   Exited (0) About a minute ago                                       c1
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   42 minutes ago       Up 42 minutes                   0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian
3.创建容器时进行交互
  3.1创建容器
[root@elk91 ~]#docker container run -i --name c2 alpine:3.20.2 
ls /
bin
dev
etc
home
lib
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
ifconfig    
eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:03  
          inet addr:172.17.0.3  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:726 (726.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 3.2 再开一个终端测试发现c2容器处于运行状态
[root@elk91 ~]#docker container ps -a
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED          STATUS                     PORTS                               NAMES
b319b22a390e   alpine:3.20.2                                               "/bin/sh"                2 minutes ago    Up 2 minutes                                                   c2
cfe072fd1b65   alpine:3.20.2                                               "/bin/sh"                6 minutes ago    Exited (0) 6 minutes ago                                       c1
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   47 minutes ago   Up 47 minutes              0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian

4.创建容器时分配终端
[root@elk91 ~]#docker container run --name c3 -i -t alpine:3.20.2 
/ # ifconfig 
eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:04  
          inet addr:172.17.0.4  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:516 (516.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

/ # 
5.创建容器时后台运行
[root@elk91 ~]#docker container run --name c4 -i -t -d alpine:3.20.2 
83b7602f9ee3b379b92a5e870adee07d9742e2204412bb7ad1c5ecdc1d51a4b1
[root@elk91 ~]#docker container ps -l
CONTAINER ID   IMAGE           COMMAND     CREATED          STATUS          PORTS     NAMES
83b7602f9ee3   alpine:3.20.2   "/bin/sh"   29 seconds ago   Up 27 seconds             c4

6.删除容器
[root@elk91 ~]#docker container rm c2 c3
Error response from daemon: You cannot remove a running container b319b22a390e424877ee7771766a22d8e8a774972b6e5940b6fe57b7546ce50b. Stop the container before attempting removal or force remove
Error response from daemon: You cannot remove a running container 747cb3a70d9d16f83ea4a8665b0a1a1313c388caca488481a59d57ade2a04e91. Stop the container before attempting removal or force remove
PS:容器再运行状态下无法正常删除
方式一: 
先停止容器,再删除
[root@elk91 ~]#docker container stop c2 c3
c2
c3
[root@elk91 ~]#docker container rm c2 c3
c2
c3

方式二:
强制删除
[root@elk91 ~]#docker container rm -f c4
c4
[root@elk91 ~]#docker ps -a
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED          STATUS                      PORTS                               NAMES
cfe072fd1b65   alpine:3.20.2                                               "/bin/sh"                18 minutes ago   Exited (0) 18 minutes ago                                       c1
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   58 minutes ago   Up 58 minutes               0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian

方式三:移除所有处于未运行状态的容器
[root@elk91 ~]#docker container run --name c2 alpine:3.20.2
[root@elk91 ~]#docker container  run --name c3 alpine:3.20.2
[root@elk91 ~]#docker container  run --name c4 -i  alpine:3.20.2
[root@elk91 ~]#docker contairun --name c5 -i -t alpine:3.20.2

[root@elk91 ~]#docker container ps -a
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED             STATUS                      PORTS                               NAMES
2506b2a095f0   alpine:3.20.2                                               "/bin/sh"                10 seconds ago      Up 9 seconds                                                    c5
c1ad9d6d360b   alpine:3.20.2                                               "/bin/sh"                17 seconds ago      Up 16 seconds                                                   c4
e2ddee8b72dd   alpine:3.20.2                                               "/bin/sh"                32 seconds ago      Exited (0) 31 seconds ago                                       c3
fe82be68c12d   alpine:3.20.2                                               "/bin/sh"                53 seconds ago      Exited (0) 53 seconds ago                                       c2
cfe072fd1b65   alpine:3.20.2                                               "/bin/sh"                21 minutes ago      Exited (0) 21 minutes ago                                       c1
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   About an hour ago   Up About an hour            0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian

[root@elk91 ~]#docker container  prune -f
Deleted Containers:
e2ddee8b72dd1ea33634050d8feddae0d454dcdcc2aad3299d768d0795d18129
fe82be68c12dd930a09d06335c948d4d803b70cea926e7dbeda89f2e10a7a1ec
cfe072fd1b65b1ccd8e576c58685c3cf5824a5f89fc248024f990e0494d01c39

Total reclaimed space: 0B

[root@elk91 ~]#docker ps -a
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED             STATUS             PORTS                               NAMES
2506b2a095f0   alpine:3.20.2                                               "/bin/sh"                11 minutes ago      Up 11 minutes                                          c5
c1ad9d6d360b   alpine:3.20.2                                               "/bin/sh"                11 minutes ago      Up 11 minutes                                          c4
736cde85ddb5   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   About an hour ago   Up About an hour   0.0.0.0:81->80/tcp, :::81->80/tcp   xiuxian
方式四:
移除所有的容器
[root@elk91 ~]#docker container ps -a -q
7181779b2488
7e76fdc886d3
2506b2a095f0
c1ad9d6d360b
736cde85ddb5
[root@elk91 ~]#docker container ps -aq
7181779b2488
7e76fdc886d3
2506b2a095f0
c1ad9d6d360b
736cde85ddb5
[root@elk91 ~]#`docker container ps -aq`
7181779b2488: command not found
[root@elk91 ~]#docker container rm -f   `docker container ps -aq`
7181779b2488
7e76fdc886d3
2506b2a095f0
c1ad9d6d360b
736cde85ddb5
[root@elk91 ~]#docker container  ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

2.容器传递环境变量、日志查看以及连接容器

1.运行容器时传递环境变量
[root@elk91 ~]#docker container run -d --name c1 -e SCHOOL=oldboyedu -e CLASS=linux100 alpine:3.20.2 sleep 60
e63271d140bb807750a709195fbfd1e8402cfa90be488a7bfbf408fb31d51d9d
[root@elk91 ~]#docker ps -a
CONTAINER ID   IMAGE           COMMAND      CREATED          STATUS          PORTS     NAMES
e63271d140bb   alpine:3.20.2   "sleep 60"   13 seconds ago   Up 12 seconds             c1
在正在运行的容器执行命令
[root@elk91 ~]#docker exec c1 ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:02  
          inet addr:172.17.0.2  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:876 (876.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

[root@elk91 ~]#docker exec c1 sh
[root@elk91 ~]#docker exec c1 sh
[root@elk91 ~]#docker container run -d --name c1 -e SCHOOL=oldboyedu -e CLASS=linux100 alpine:3.20.2 sleep 60
docker: Error response from daemon: Conflict. The container name "/c1" is already in use by container "e63271d140bb807750a709195fbfd1e8402cfa90be488a7bfbf408fb31d51d9d". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
[root@elk91 ~]#docker container run -d --name c2 -e SCHOOL=oldboyedu -e CLASS=linux100 alpine:3.20.2 sleep 60
20de7cf3dae100715b42b565cf960e58c22e45d85c6561b1ad9dce31d90ae1a8
[root@elk91 ~]#docker exec c2 sh
[root@elk91 ~]#docker exec -it  c2 sh
/ # ps -ef
PID   USER     TIME  COMMAND
    1 root      0:00 sleep 60
   13 root      0:00 sh
   19 root      0:00 ps -ef
/ # 

/ # [root@elk91 ~]#docker container run -d --name c4 -e SCHOOL=oldboyedu -e CLASS=linux100 alpine:3.20.2 sleep 60
32e3711122be238c8eee768442d7285fa81f684ffb45ff4d10a6205bafd789f9
[root@elk91 ~]#docker exec -it  c4 sh
/ # env
CLASS=linux100
HOSTNAME=32e3711122be
SHLVL=1
HOME=/root
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SCHOOL=oldboyedu
PWD=/
/ # 

/ # [root@elk91 ~]#docker exec -it  c4 sh
Error response from daemon: Container 32e3711122be238c8eee768442d7285fa81f684ffb45ff4d10a6205bafd789f9 is not running
[root@elk91 ~]#

3.查看容器的日志
[root@elk91 ~]#docker container run -d --name xixi registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
6301e9c33b15d5b3ab53b2b3879ece7ae0bd425d63133bf5ce2b301002876131
[root@elk91 ~]#docker container ps -a
CONTAINER ID   IMAGE                                                       COMMAND                  CREATED          STATUS                     PORTS     NAMES
6301e9c33b15   registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1   "/docker-entrypoint.…"   13 seconds ago   Up 12 seconds              80/tcp    xixi
32e3711122be   alpine:3.20.2                                               "sleep 60"               5 minutes ago    Exited (0) 4 minutes ago             c4
20de7cf3dae1   alpine:3.20.2                                               "sleep 60"               7 minutes ago    Exited (0) 6 minutes ago             c2
e63271d140bb   alpine:3.20.2                                               "sleep 60"               8 minutes ago    Exited (0) 7 minutes ago             c1

for i in `seq 10`;do curl 172.17.0.2;sleep 3;done # 单独开一个终端执行该命令

[root@elk91 ~]#docker container logs  -f xixi
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2026/04/08 13:33:50 [notice] 1#1: using the "epoll" event method
2026/04/08 13:33:50 [notice] 1#1: nginx/1.20.1
2026/04/08 13:33:50 [notice] 1#1: built by gcc 10.2.1 20201203 (Alpine 10.2.1_pre1) 
2026/04/08 13:33:50 [notice] 1#1: OS: Linux 5.15.0-173-generic
2026/04/08 13:33:50 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 524288:524288
2026/04/08 13:33:50 [notice] 1#1: start worker processes
2026/04/08 13:33:50 [notice] 1#1: start worker process 32
2026/04/08 13:33:50 [notice] 1#1: start worker process 33
172.17.0.1 - - [08/Apr/2026:13:36:32 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"
172.17.0.1 - - [08/Apr/2026:13:36:35 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"
172.17.0.1 - - [08/Apr/2026:13:36:38 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"
172.17.0.1 - - [08/Apr/2026:13:36:41 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"
172.17.0.1 - - [08/Apr/2026:13:36:44 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"
172.17.0.1 - - [08/Apr/2026:13:36:47 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"
172.17.0.1 - - [08/Apr/2026:13:36:50 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"


面试题:
	- 如何查看最近20分钟产生的日志。
[root@elk91 ~]#docker logs -f xixi -t --since 20m
2026-04-08T13:36:32.699823183Z 172.17.0.1 - - [08/Apr/2026:13:36:32 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"
2026-04-08T13:36:35.710872857Z 172.17.0.1 - - [08/Apr/2026:13:36:35 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"
2026-04-08T13:36:38.718182844Z 172.17.0.1 - - [08/Apr/2026:13:36:38 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"
2026-04-08T13:36:41.724683637Z 172.17.0.1 - - [08/Apr/2026:13:36:41 +0000] "GET / HTTP/1.1" 200 357 "-" "curl/7.81.0" "-"

3.项目部署案例

3.1部署mysql服务

1.导入镜像
[root@elk91 ~]#docker image load -i oldboyedu-mysql-v8.0.36-oracle.tar.gz 
fc037c17567d: Loading layer [==================================================>]  118.8MB/118.8MB
152c1ecea280: Loading layer [==================================================>]  11.26kB/11.26kB
fb5c92e924ab: Loading layer [==================================================>]  2.359MB/2.359MB
5b76076a2dd4: Loading layer [==================================================>]  13.86MB/13.86MB
a6909c467615: Loading layer [==================================================>]  6.656kB/6.656kB
eaa1e85de732: Loading layer [==================================================>]  3.072kB/3.072kB
9513d2aedd12: Loading layer [==================================================>]  185.6MB/185.6MB
84d659420bad: Loading layer [==================================================>]  3.072kB/3.072kB
876b8cd855eb: Loading layer [==================================================>]  298.7MB/298.7MB
1c0ff7ed67c4: Loading layer [==================================================>]   16.9kB/16.9kB
318dde184d61: Loading layer [==================================================>]  1.536kB/1.536kB
Loaded image: mysql:8.0.36-oracle

2.部署mysql服务
[root@elk91 ~]# docker container run \
> -e MYSQL_ALLOW_EMPTY_PASSWORD="yes" \
> -d \
> --name mysql-server \
> -e MYSQL_DATABASE="wordpress" \
> -e MYSQL_USER="linux102" \
> -e MYSQL_PASSWORD="oldboyedu" \
> mysql:8.0.36-oracle \
> --character-set-server=utf8mb4 \
> --collation-server=utf8mb4_unicode_ci \
> --default-authentication-plugin=mysql_native_password
7ba8132b675fb66dd60e89db0a0ff51a78dba2d247b2b0e40fd2da0ae21ba768
[root@elk91 ~]#docker ps -l
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS                 NAMES
7ba8132b675f   mysql:8.0.36-oracle   "docker-entrypoint.s…"   9 seconds ago   Up 8 seconds   3306/tcp, 33060/tcp   mysql-server

3.连接数据库
[root@elk91 ~]#docker exec -it mysql-server mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.36 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpress          |
+--------------------+
5 rows in set (0.01 sec)

mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| linux102         | %         | mysql_native_password |
| root             | %         | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
6 rows in set (0.00 sec)

3.2部署wordpress博客

1.部署mysql服务(暴露端口)
[root@elk91 ~]#docker container run \
> -e MYSQL_ALLOW_EMPTY_PASSWORD="yes" \
> -d \
> -p 3306:3306 \
> --name mysql-server \
> -e MYSQL_DATABASE="wordpress" \
> -e MYSQL_USER="linux102" \
> -e MYSQL_PASSWORD="oldboyedu" \
> mysql:8.0.36-oracle \
> --character-set-server=utf8mb4 \
> --collation-server=utf8mb4_unicode_ci \
> --default-authentication-plugin=mysql_native_password
d333235c5ba8ff97ca71fe14b3e0e979004e30d68f239712ba7f69363f29973d

2.导入wordpress镜像
[root@elk91 ~]#docker image load -i oldboyedu-wordpress-v6.7.1-php8.1-apache.tar.gz 
7914c8f600f5: Loading layer [==================================================>]  77.83MB/77.83MB
9d3505e94f88: Loading layer [==================================================>]  3.584kB/3.584kB
cca374cc7ecc: Loading layer [==================================================>]  320.2MB/320.2MB
93531ad2cad2: Loading layer [==================================================>]   5.12kB/5.12kB
76c322751b28: Loading layer [==================================================>]  50.46MB/50.46MB
e1862c15b46e: Loading layer [==================================================>]  9.728kB/9.728kB
41a48fee6648: Loading layer [==================================================>]   7.68kB/7.68kB
683fadaa2d15: Loading layer [==================================================>]  12.42MB/12.42MB
cd29cc24986e: Loading layer [==================================================>]  4.096kB/4.096kB
65ed9c32ccf8: Loading layer [==================================================>]  49.07MB/49.07MB
6a874987401a: Loading layer [==================================================>]   12.8kB/12.8kB
72d18aad6507: Loading layer [==================================================>]  4.608kB/4.608kB
541b75dced10: Loading layer [==================================================>]  4.608kB/4.608kB
5f70bf18a086: Loading layer [==================================================>]  1.024kB/1.024kB
dd20169e4636: Loading layer [==================================================>]  69.66MB/69.66MB
7aa076c583ee: Loading layer [==================================================>]  56.58MB/56.58MB
1bd5766fdd49: Loading layer [==================================================>]  5.632kB/5.632kB
fd6f751879ec: Loading layer [==================================================>]  4.608kB/4.608kB
10ffebd37647: Loading layer [==================================================>]  91.65kB/91.65kB
9dfe5f929ccc: Loading layer [==================================================>]  76.94MB/76.94MB
3a7d623958af: Loading layer [==================================================>]  9.216kB/9.216kB
5a91ae3138b2: Loading layer [==================================================>]  6.656kB/6.656kB
Loaded image: wordpress:6.7.1-php8.1-apache

3.3部署wordpress
[root@elk91 ~]#docker container run --name wordpress-server \
> -d \
> -p 81:80 \
> -e WORDPRESS_DB_HOST=10.0.0.91 \
> -e WORDPRESS_DB_USER=linux102 \
> -e WORDPRESS_DB_PASSWORD=oldboyedu \
> -e WORDPRESS_DB_NAME=wordpress \
> wordpress:6.7.1-php8.1-apache
096bf9c451e896cbfdae5ab8284cee5b8fc4be4e833e72990aab6100ef9e6ce9
[root@elk91 ~]#docker ps -l
CONTAINER ID   IMAGE                           COMMAND                  CREATED         STATUS         PORTS                               NAMES
096bf9c451e8   wordpress:6.7.1-php8.1-apache   "docker-entrypoint.s…"   5 seconds ago   Up 4 seconds   0.0.0.0:81->80/tcp, :::81->80/tcp   wordpress-server
3.4浏览器测试(输入10.0.0.91:81) 

3.5查看MySQL容器的表信息
[root@elk91 ~]#docker exec wordpress-server -it mysql-server 
OCI runtime exec failed: exec failed: unable to start container process: exec: "-it": executable file not found in $PATH: unknown
[root@elk91 ~]#docker exec  -it mysql-server mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.36 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> showdatabases;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'showdatabases' at line 1
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpress          |
+--------------------+
5 rows in set (0.02 sec)

mysql> use wordpress;
Database changed
mysql> show tables;
Empty set (0.01 sec)

3.3部署elasticsearch单点服务

1.下载镜像
[root@elk91 ~]#docker image pull docker.elastic.co/elasticsearch/elasticsearch:9.3.2
9.3.2: Pulling from elasticsearch/elasticsearch
2f837cbde7be: Pull complete 
d70bd96e9f18: Pull complete 
5931f9ccffb9: Pull complete 
6a5245e6caee: Pull complete 
bd9ddc54bea9: Pull complete 
aff90b69bbf0: Pull complete 
87f3d3ecca1a: Pull complete 
0385c2822287: Pull complete 
d5fbebb9094a: Pull complete 
ed9270ed0fff: Pull complete 
Digest: sha256:d2f73c2f05476fe0a528b429656f3de22f3f50db62d3d79ea2c87995f7f4c938
Status: Downloaded newer image for docker.elastic.co/elasticsearch/elasticsearch:9.3.2
docker.elastic.co/elasticsearch/elasticsearch:9.3.2

2.启动容器(部署elasticsearch服务)
[root@elk91 ~]#docker container run --name es01 -p 19200:9200 -d -m 1GB docker.elastic.co/elasticsearch/elasticsearch:9.3.2 
4a802f41fe701506d128e6e2e773ff43749828aea38038087e91720f7a1a4cdc
[root@elk91 ~]#docker ps -l
CONTAINER ID   IMAGE                                                 COMMAND                  CREATED          STATUS          PORTS                                                   NAMES
4a802f41fe70   docker.elastic.co/elasticsearch/elasticsearch:9.3.2   "/bin/tini -- /usr/l…"   11 seconds ago   Up 10 seconds   9300/tcp, 0.0.0.0:19200->9200/tcp, :::19200->9200/tcp   es01

3.访问测试
[root@elk91 ~]#netstat -tunlp | grep 19200
tcp        0      0 0.0.0.0:19200           0.0.0.0:*               LISTEN      1963/docker-proxy   
tcp6       0      0 :::19200                :::*                    LISTEN      1972/docker-proxy   
[root@elk91 ~]#curl -k https://10.0.0.91:19200
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\", charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\", charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}},"status":401}
温馨提示:
	上述报错401是因为没有给定认证信息,因此我们要获取认证信息。

4.重置elastic管理员密码
[root@elk91 ~]#docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
WARNING: Owner of file [/usr/share/elasticsearch/config/users] used to be [root], but now is [elasticsearch]
WARNING: Owner of file [/usr/share/elasticsearch/config/users_roles] used to be [root], but now is [elasticsearch]
This tool will reset the password of the [elastic] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]y


Password for the [elastic] user successfully reset.
New value: SDFaWBGgpQG*6ed*sbb_

5.再次访问测试
[root@elk91 ~]#curl -k -u  elastic:SDFaWBGgpQG*6ed*sbb_ https://10.0.0.91:19200;echo
{
  "name" : "d9cfc0270128",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "R0HvXPPcQTSkg3V-zXx9Mg",
  "version" : {
    "number" : "9.3.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "43a703737aab6baefa748bc7b69e4054926f2b2c",
    "build_date" : "2026-03-16T13:12:56.143057855Z",
    "build_snapshot" : false,
    "lucene_version" : "10.3.2",
    "minimum_wire_compatibility_version" : "8.19.0",
    "minimum_index_compatibility_version" : "8.0.0"
  },
  "tagline" : "You Know, for Search"
}

3.4部署kibana服务

1.下载镜像
[root@elk91 ~]#docker pull docker.elastic.co/kibana/kibana:9.3.2
9.3.2: Pulling from kibana/kibana
2f837cbde7be: Already exists 
30256f794aab: Pull complete 
13719dd97430: Pull complete 
0c9b5ed924a1: Pull complete 
076eda5d5a87: Pull complete 
76463de8ade8: Pull complete 
bd9ddc54bea9: Pull complete 
fd2a549d02af: Pull complete 
6e58f9d7a7d7: Pull complete 
4c8d0f058d3f: Pull complete 
89782de37f5f: Pull complete 
35dee184e56c: Pull complete 
e77eea1cc574: Pull complete 
dc451deefb4d: Pull complete 
Digest: sha256:cbf27174cf03e9d59505510c540a3e1ac69718fc863728280f316a93248cead9
Status: Downloaded newer image for docker.elastic.co/kibana/kibana:9.3.2
docker.elastic.co/kibana/kibana:9.3.2

2.启动容器
[root@elk91 ~]#docker run -d --name kibana-server -p 15601:5601 docker.elastic.co/kibana/kibana:9.3.2 
b26b1962913fdcdb7f4edc8a5cc1a7dfab4950a2025016d6e730c9fae04a87e4
[root@elk91 ~]#docker container ps -l
CONTAINER ID   IMAGE                                   COMMAND                  CREATED         STATUS         PORTS                                         NAMES
b26b1962913f   docker.elastic.co/kibana/kibana:9.3.2   "/bin/tini -- /usr/l…"   9 seconds ago   Up 8 seconds   0.0.0.0:15601->5601/tcp, :::15601->5601/tcp   kibana-server

3.elasticsearch生成token
[root@elk91 ~]#docker container exec -it es01 bash
[elasticsearch@d9cfc0270128 ~]$ /usr/share/elasticsearch/bin/elasticsearch
elasticsearch                          elasticsearch-geoip                    elasticsearch-setup-passwords
elasticsearch-certgen                  elasticsearch-keystore                 elasticsearch-shard
elasticsearch-certutil                 elasticsearch-node                     elasticsearch-sql-cli
elasticsearch-cli                      elasticsearch-plugin                   elasticsearch-sql-cli-9.3.2.jar
elasticsearch-create-enrollment-token  elasticsearch-reconfigure-node         elasticsearch-syskeygen
elasticsearch-croneval                 elasticsearch-reset-password           elasticsearch-users
elasticsearch-env                      elasticsearch-saml-metadata            
elasticsearch-env-from-file            elasticsearch-service-tokens           
[elasticsearch@d9cfc0270128 ~]$ /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
eyJ2ZXIiOiI4LjE0LjAiLCJhZHIiOlsiMTcyLjE3LjAuMzo5MjAwIl0sImZnciI6IjdkNzYxMGNlNTAxM2FjMmRjNTc5YzIyNTE1MDBlMzFlYmRmYWYzNzBiMzlkMWZiOGI3NDVmZGQ5NTQ0YmJlNTEiLCJrZXkiOiJWeVpGY0owQkFWZDFVaWJYT3FlZDpJWHBENkg0WGJUN1lXeWxVOFd0Z3JnIn0=


4.访问kibana的webUI【如下图所示,访问时需要输入上一步的token】
http://10.0.0.91:15601/

5.kibana生成校验码

[root@elk91 ~]#docker container exec -it kibana-server bash

bash-5.1$

Display all 322 possibilities? (y or n)

bash-5.1$ kibana-verification-code

Your verification code is: 177 593

bash-5.1$ exit

exit

6.验证密码登录

7.修改成中文界面

[root@elk91 ~]#docker exec -it kibana-server bash

bash-5.1$ echo i18n.locale: "zh-CN" >> config/kibana.yml

bash-5.1$ exit

exit

[root@elk91 ~]#docker container restart kibana-server

kibana-server

8.重置超级管理员密码

3.5部署Redis服务

1.导入镜像
[root@elk91 ~]#docker image load -i oldboyedu-redis-v7.2.8.tar.gz 
08000c18d16d: Loading layer [==================================================>]  8.121MB/8.121MB
5eb48cee65ab: Loading layer [==================================================>]  10.75kB/10.75kB
80a02d377c0e: Loading layer [==================================================>]  922.6kB/922.6kB
e19019c8f17e: Loading layer [==================================================>]  2.418MB/2.418MB
c581187f88c5: Loading layer [==================================================>]  30.21MB/30.21MB
a738c5aa361f: Loading layer [==================================================>]  1.536kB/1.536kB
5f70bf18a086: Loading layer [==================================================>]  1.024kB/1.024kB
4d7066b0e143: Loading layer [==================================================>]  4.096kB/4.096kB
Loaded image: redis:7.2.8-alpine3.21

2.启动容器
[root@elk91 ~]#docker container run -d --name  redis-server -p 6379:6379 redis:7.2.8-alpine3.21 
7a9a3da5e996277f97c6449aee772495ea6e8e0fd0eb27490878dc759b2a3ccc
[root@elk91 ~]#docker ps -l
CONTAINER ID   IMAGE                    COMMAND                  CREATED         STATUS         PORTS                                       NAMES
7a9a3da5e996   redis:7.2.8-alpine3.21   "docker-entrypoint.s…"   9 seconds ago   Up 8 seconds   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis-server

3.测试验证
[root@elk91 ~]#docker container exec -it redis-server sh
/data # redis-cli
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set ip 10.0.0.91
OK
127.0.0.1:6379> get ip
"10.0.0.91"

3.6部署Skywalking

1.部署elasticsearch环境(7.17.25版本)
[root@elk91 ~]#docker container run -d --name es7-server -p 19200:9200 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.17.25 
344c8cd7d3e0254c67ca1f831110bdef06ab0cdc441cbf0be4e8a781fb00d842
[root@elk91 ~]#docker ps -l
CONTAINER ID   IMAGE                                                   COMMAND                  CREATED         STATUS         PORTS                                                   NAMES
344c8cd7d3e0   docker.elastic.co/elasticsearch/elasticsearch:7.17.25   "/bin/tini -- /usr/l…"   7 seconds ago   Up 6 seconds   9300/tcp, 0.0.0.0:19200->9200/tcp, :::19200->9200/tcp   es7-server
[root@elk91 ~]#netstat -tunlp | grep 19200
tcp        0      0 0.0.0.0:19200           0.0.0.0:*               LISTEN      8002/docker-proxy   
tcp6       0      0 :::19200                :::*                    LISTEN      8009/docker-proxy 

1.1 测试部署是否成功
[root@elk91 ~]#curl 10.0.0.91:19200
{
  "name" : "344c8cd7d3e0",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "ia5lhRdnSd2Piift4OHDPQ",
  "version" : {
    "number" : "7.17.25",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "f9b6b57d1d0f76e2d14291c04fb50abeb642cfbf",
    "build_date" : "2024-10-16T22:06:36.904732810Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.3",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
[root@elk91 ~]#curl 10.0.0.91:19200/_cat/nodes
172.17.0.2 4 98 6 0.10 0.14 0.09 cdfhilmrstw * 344c8cd7d3e0

2.部署skywalking-oap-server
 2.1 导入镜像到本地
[root@elk91 ~]#docker image load -i oldboyedu-skywalking-oap-server-v10.2.0-java21.tar.gz 
4b7c01ed0534: Loading layer [==================================================>]  80.65MB/80.65MB
55f0856f15bc: Loading layer [==================================================>]  45.77MB/45.77MB
21c5f72745e2: Loading layer [==================================================>]  164.8MB/164.8MB
ca07f7531821: Loading layer [==================================================>]   2.56kB/2.56kB
f17dac05f171: Loading layer [==================================================>]  7.168kB/7.168kB
aaab2e558837: Loading layer [==================================================>]  1.536kB/1.536kB
304900db24f7: Loading layer [==================================================>]  155.7MB/155.7MB
65294e40a50d: Loading layer [==================================================>]  136.6MB/136.6MB
f36f770a0943: Loading layer [==================================================>]  4.096kB/4.096kB
541773ae93bb: Loading layer [==================================================>]  3.584kB/3.584kB
536e8e9279e5: Loading layer [==================================================>]   2.56kB/2.56kB
Loaded image: apache/skywalking-oap-server:10.2.0-java21

2.2启动容器(部署skywalking-oap-server)
[root@elk91 ~]#docker run --name oap-server \
> -d -e SW_STORAGE=elasticsearch \
> -p 12800:12800 \
> -e SW_STORAGE_ES_CLUSTER_NODES=10.0.0.91:19200 \
> apache/skywalking-oap-server:10.2.0-java21
c65df88a744740a227aef232820840390fb1b805d2de8c300e8b4b8f710e9cb9

[root@elk91 ~]#docker ps -l
CONTAINER ID   IMAGE                                        COMMAND                  CREATED         STATUS         PORTS                                                                NAMES
b297319cb861   apache/skywalking-oap-server:10.2.0-java21   "bash docker-entrypo…"   5 minutes ago   Up 5 minutes   1234/tcp, 11800/tcp, 0.0.0.0:12800->12800/tcp, :::12800->12800/tcp   oap-server

2.3部署skywalking-ui
[root@elk91 ~]#docker container run  -d --name oap-ui -e SW_OAP_ADDRESS=http://10.0.0.91:12800  -p 8080:8080 apache/skywalking-ui:10.2.0-
84c8cdbb24beef324829954de56f9072a73bde33e23c8529f109ad42caf39f13

2.4验证数据是否写入ES环境
[root@elk91 ~]# curl 10.0.0.91:19200/_cat/indices
green  open sw_zipkin_span-20260409       7Cvt07UXQJ6YE-DR6MrMYw 5 0   0 0   1.1kb   1.1kb
yellow open sw_metrics-all-20260409       zA3zi5M_SGyu-Mt9zoLqfg 1 1   0 0    227b    227b
green  open sw_segment-20260409           xMyqRkYkSG-rBtrIPSPsCg 5 0   0 0   1.1kb   1.1kb
yellow open sw_management                 ZiFAoK4CQWmXdLPYYWz-Ng 1 1 123 0 334.3kb 334.3kb
yellow open sw_records-all-20260409       YPBzTBgVQBGYk1hjEO7jDQ 1 1   0 0    227b    227b
green  open sw_log-20260409               oZC3YzFnSjGdvfU4YDWeGQ 5 0   0 0   1.1kb   1.1kb
green  open sw_browser_error_log-20260409 VXZRKNULRpG5_AlbB6JJsg 5 0   0 0   1.1kb   1.1kb

2.5访问skywalking的webUI 10.0.0.91:8080
如下如所示:


评论