B站 docker教程快速通关笔记(尚硅谷)

      B站视频        <—— 点击视频学习

      语雀教程        <—— 点击语雀笔记

      PDF笔记        <—— 点击PDF笔记

01.课程简介

掌握docker核心功能:

1.Docker命令

2.Docker存储

3.Docker网络

4.Docker Compose

5.Dockerfile

一键批量启动:MySQL、Redis、RabbitMQ、Zookeeper、OpenSearch、Kafka、Nacos、Prometheus、Grafana

 

02.基础 - 为什么有Docker

为什么使用docker? 代码写好后,安装中间件安装不成功......
生产环境 软件和操作系统不兼容问题

docker可以跨平台安装软件、中间件

解决生产、准生产、测试、开发环境不同的问题

交付客户按照安装文档操作过于繁琐

传给客户通过优盘、网盘、传输助手等不同版本管理麻烦,传输过于频繁

拥有一款类似手机应用商店的技术,想使用可以去应用商店下载、安装,比如微信,抖音

github相当于手机的应用商店

github地址:https://github.com/

注:如果访问 Github 网站超时,可以 点击此链接地址  解决
加速构建、分享、运行应用

构建:快速把应用进行打包

分享:把软件包快速发布到GitHub应用商店中

运行:一行命令启动应用

 

03.基础 - Docker架构与容器化

1.客户端发送命令 docker pull redis 到服务端,Docker Daemon 先检查本地是否有redis镜像,有提示本地存在不下载,没有则去Registry镜像仓库(默认是国外官网,可以配置成国内仓库)拉取最新版本的redis到本地(实线——>)

2.客户端发送命令 docker run redis 到服务端,Docker Daemon 根据本地镜像 Images(若本地没有,先去仓库下载到本地) 启动容器 Containers( -- -->)

3.客户端发送命令 docker build xxx 到服务端,Docker Daemon 构建生成镜像,存放到本地(-  -  -  -  ->)

4.客户端发送命令 docker push xxx 到服务端,Docker Daemon 把本地构建或存放的镜像推送到远程 Registry镜像仓库,其他人可以根据需要下载此镜像(........>)

build(构建):使用 docker build

share(分享):使用 docker push、docker pull 

run(运行):使用 docker run

核心:镜像(类似软件包)、容器(类似基于软件包启动的应用)

服务器:服务间不隔离,其中一个应用发生内存泄漏,就造成服务器“炸了”

虚拟机:应用间隔离,一个虚拟机发生内存泄漏,只造成虚拟机“炸了”,不会影响服务器上的其他虚拟机,每个虚拟机必须有完整的操作系统,笨重臃肿

容器:在容器运行时上隔离,每个容器是一个应用,容器发生内存泄漏,只造成容器“炸了”,不影响其他容器,作用在底层的操作系统,可根据容器自己需要加入可执行的文件和库

容器类似轻量级的Vm(虚拟机)
容器共享操作系统内核
容器拥有自己的文件系统、CPU、内存、进程空间等
容器互相隔离

特点:轻量、快速(秒级启动)、隔离、跨平台、高密度

 

04.基础 - 购买云服务器

云服务器 -> 安装Docker 

1.登录、2.控制台、3.产品页、4.云服务器、立即选购、自定义配置、

 

设置密码:MAjunnan6666^

 

05.基础 - 停机不收费

微信扫码,点击确认此操作

注意:公网IP关机后会释放,下次登录需要重新复制新的公网IP

再次开机,可以重新使用原服务器资源

 

06.基础 - 安装Docker

# 移除旧版本docker
[root@VM-0-16-centos ~]# sudo yum remove docker \
>  docker-client \
>  docker-client-latest \
>  docker-common \
>  docker-latest \
>  docker-latest-logrotate \
>  docker-logrotate \
>  docker-engine
Loaded plugins: fastestmirror, langpacks
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
No Packages marked for removal
# 安装 yum-utiles 工具,下载 docker 源,新增 docker源地址
[root@VM-0-16-centos ~]# yum install -y yum-utils
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version
Nothing to do
[root@VM-0-16-centos ~]#  yum-config-manager --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@VM-0-16-centos ~]# ls -ltr /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root  616 Nov 23  2020 CentOS-x86_64-kernel.repo
-rw-r--r-- 1 root root  230 Jul  2 14:25 CentOS-Epel.repo
-rw-r--r-- 1 root root  641 Jul  2 14:25 CentOS-Base.repo
-rw-r--r-- 1 root root 2081 Jul  2 14:47 docker-ce.repo
# 安装 docker引擎、客户端工具、docker的容器运行时、docker构建镜像的插件工具、docker compose批量的工具
[root@VM-0-16-centos ~]#  yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
.........
Complete!
# 启动 并且 开机启动docker; enable + start ⼆合⼀
[root@VM-0-16-centos ~]# systemctl enable docker --now
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
# 配置国内镜像加速地址
[root@VM-0-16-centos ~]# sudo mkdir -p /etc/docker
[root@VM-0-16-centos ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
>  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
> }
> EOF
{
 "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
[root@VM-0-16-centos ~]# sudo systemctl daemon-reload
[root@VM-0-16-centos ~]# sudo systemctl restart docker
# 确定容器启动
[root@VM
-0-16-centos ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

 

07.命令 - 镜像操作

实验:启动一个nginx,并将它的首页改为自己的页面,发布出去,让所有人都能使用

下载镜像 -> 启动容器 -> 修改页面 -> 保存镜像 -> 分享社区

镜像 检索: docker search

        下载:docker pull

        列表:docker images

        删除:docker rmi

[root@VM-0-16-centos ~]# docker search nginx
镜像名 描述信息 收藏数 是否官方
# 下载镜像,不添加版本号,默认下载最新版
[root@VM-0-16-centos ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
3da95a905ed5: Pull complete 
6c8e51cf0087: Pull complete 
9bbbd7ee45b7: Pull complete 
48670a58a68f: Pull complete 
ce7132063a56: Pull complete 
23e05839d684: Pull complete 
ee95256df030: Pull complete 
Digest: sha256:93230cd54060f497430c7a120e2347894846a81b6a5dd2110f7362c5423b4abc
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
# 查看本地镜像,镜像名、标签,版本、镜像唯一ID、镜像创建时间、镜像大小
[root@VM-0-16-centos ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    9592f5595f2b   7 days ago   192MB

docker 镜像仓库官网:http://hub.docker.com/

# 通过查看官网,可以知道 nginx 各版本描述情况,可以下载指定版本的镜像
[root@VM-0-16-centos ~]# docker pull nginx:1.26.0
1.26.0: Pulling from library/nginx
09f376ebb190: Pull complete 
78240426b67a: Pull complete 
c08c0ae256e2: Pull complete 
10463a6831a8: Pull complete 
bd444d50f7de: Pull complete 
8785af845a38: Pull complete 
694e3980a1e1: Pull complete 
Digest: sha256:192e88a0053c178683ca139b9d9a2afb0ad986d171fae491949fe10970dd9da9
Status: Downloaded newer image for nginx:1.26.0
docker.io/library/nginx:1.26.0
# docker images 和 docker image ls 相同,查看镜像版本
[root@VM-0-16-centos ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    9592f5595f2b   7 days ago      192MB
nginx        1.26.0    94543a6c1aef   14 months ago   188MB
# 删除本地镜像,可以基于镜像名:版本号、也可以使用镜像 IMAGE ID (唯一ID)
[root@VM-0-16-centos ~]# docker rmi nginx:latest
Untagged: nginx:latest
Untagged: nginx@sha256:93230cd54060f497430c7a120e2347894846a81b6a5dd2110f7362c5423b4abc
Deleted: sha256:9592f5595f2b12c2ede5d2ce9ec936b33fc328225a00b3901b96019e3dd83528
Deleted: sha256:8f3a28fb15e024be11bb5558f29adeaa18f2087363187d7dbb3ea58140f9887c
Deleted: sha256:350738d51ca51436ab482da48a1ff31e39e0b76e06b301205e458e500dc14fd0
Deleted: sha256:d914f296dd7dad8fee558cc14bf984bb569a301f95c757e77b1e59d0d3a4e640
Deleted: sha256:2e79d5623eaa2cfc931d9903695f10d0b9def9208f5558a0d5a76af319fe2e02
Deleted: sha256:cbc33e4b574314612fab56ecbe98b5b00d5f9a60865ad833dccacbf0110bb9f3
Deleted: sha256:74127feb282ee904f7c10e10c2d86f6b27db8421c361813546a8da7f351ef64a
Deleted: sha256:1bb35e8b4de116e84b2ccf614cce4e309b6043bf2cd35543d8394edeaeb587e3
[root@VM-0-16-centos ~]# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        1.26.0    94543a6c1aef   14 months ago   188MB

 

 08.命令 - 容器操作

运行:docker run

停止:dockers stop

启动:docker start

重启:docker restart

状态:docker stats

日志:docker logs

进入:docker exec

删除:docker rm 

# 当前终端A,不指定使用镜像版本,默认使用最新,但因为本地没有,先下载再启动,启动以后堵塞了控制台,需要新开一个终端
[root@VM-0-16-centos ~]# docker run nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
3da95a905ed5: Pull complete 
6c8e51cf0087: Pull complete 
9bbbd7ee45b7: Pull complete 
48670a58a68f: Pull complete 
ce7132063a56: Pull complete 
23e05839d684: Pull complete 
ee95256df030: Pull complete 
Digest: sha256:93230cd54060f497430c7a120e2347894846a81b6a5dd2110f7362c5423b4abc
Status: Downloaded newer image for nginx:latest
/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: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/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
2025/07/02 09:20:21 [notice] 1#1: using the "epoll" event method
2025/07/02 09:20:21 [notice] 1#1: nginx/1.29.0
2025/07/02 09:20:21 [notice] 1#1: built by gcc 12.2.0 (Debian 12.2.0-14+deb12u1) 
2025/07/02 09:20:21 [notice] 1#1: OS: Linux 3.10.0-1160.119.1.el7.x86_64
2025/07/02 09:20:21 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2025/07/02 09:20:21 [notice] 1#1: start worker processes
2025/07/02 09:20:21 [notice] 1#1: start worker process 29
2025/07/02 09:20:21 [notice] 1#1: start worker process 30
# 新开终端B,查看容器状态
# 容器唯一ID号、基于镜像版本、启动命令、创建时间、启动状态、容器占用端口、启动的容器名(随机名)
[root@VM-0-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED              STATUS              PORTS     NAMES
4e2e35a8c6dc   nginx     "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp    zealous_swanson
# 终端A Ctrl + c ,中断程序以后,退出到命令行,docker ps 查看运行中的容器查看不到(docker ps 只能查看运行的容器),需要使用 docker ps -a 查看所有容器
2025/07/02 09:24:40 [notice] 1#1: exit
[root@VM-0-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
# 状态 STATUS 由 up 变成了 exited
[root@VM-0-16-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS                     PORTS     NAMES
4e2e35a8c6dc   nginx     "/docker-entrypoint.…"   4 minutes ago   Exited (0) 8 seconds ago             zealous_swanson
# 可以基于 容器ID 或 容器名 再次启动容器,不会阻塞终端
[root@VM-0-16-centos ~]# docker start 4e2e35a8c6dc
4e2e35a8c6dc
[root@VM-0-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
4e2e35a8c6dc   nginx     "/docker-entrypoint.…"   6 minutes ago   Up 2 seconds   80/tcp    zealous_swanson
# 停止容器,可以基于 容器ID 或 容器名 
[root@VM-0-16-centos ~]# docker stop zealous_swanson
zealous_swanson
[root@VM-0-16-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS                     PORTS     NAMES
4e2e35a8c6dc   nginx     "/docker-entrypoint.…"   8 minutes ago   Exited (0) 3 seconds ago             zealous_swanson
# 可以基于容器ID 或容器名,重启容器,无论容器是启动还是退出,都可以重启
[root@VM-0-16-centos ~]# docker restart 4e2e35a8c6dc
4e2e35a8c6dc
[root@VM-0-16-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS         PORTS     NAMES
4e2e35a8c6dc   nginx     "/docker-entrypoint.…"   4 hours ago   Up 2 seconds   80/tcp    zealous_swanson
# 可以基于容器ID 或容器名 查看容器运行占用的cpu、内存、磁盘等性能
[root@VM-0-16-centos ~]# docker stats 4e2e35a8c6dc

CONTAINER ID   NAME              CPU %     MEM USAGE / LIMIT    MEM %     NET I/O      BLOCK I/O     PIDS
4e2e35a8c6dc   zealous_swanson   0.01%     3.832MiB / 1.92GiB   0.19%     1.1kB / 0B   13.3MB / 0B   3
# 可以基于容器ID 或容器名 查看容器输出的日志
[root@VM-0-16-centos ~]# docker logs zealous_swanson
/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/
.........
2025/07/02 12:54:49 [notice] 1#1: start worker processes
2025/07/02 12:54:49 [notice] 1#1: start worker process 22
2025/07/02 12:54:49 [notice] 1#1: start worker process 23
# 可以基于容器ID 或容器名,删除容器,-f 强制删除,docker ps -a 也没有记录了
[root@VM-0-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS         PORTS     NAMES
4e2e35a8c6dc   nginx     "/docker-entrypoint.…"   4 hours ago   Up 6 minutes   80/tcp    zealous_swanson
[root@VM-0-16-centos ~]# docker rm -f 4e2e35a8c6dc
4e2e35a8c6dc
[root@VM-0-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@VM-0-16-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

 

09.命令 - run细节

# 运行容器 nginx,问题:
#1.容器启动会堵塞住终端,不能每次都运行后,Ctrl + c 停止,再docker start去启动
#2.通过服务器的 IP 地址 80端口不能访问
# 后台启动容器 run -d ,--name 为容器命令(同一服务器内不能重复)
[root@VM-0-16-centos ~]# docker run -d --name=mynginx nginx
e09146376fd4d8855389daab0d9c22376d9098cfaa35fff6654cf9d44b53a2ae
[root@VM-0-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
e09146376fd4   nginx     "/docker-entrypoint.…"   4 seconds ago   Up 3 seconds   80/tcp    mynginx
# 端口映射 run -p
[root@VM-0-16-centos ~]# docker rm -f mynginx
mynginx
[root@VM-0-16-centos ~]# docker run -d -p 80:80 --name=mynginx nginx
68b39b28cd59bae6ff247a1c9483d8ed0bb99987d712a617eb9423435e0b6fce
[root@VM-0-16-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                               NAMES
68b39b28cd59   nginx     "/docker-entrypoint.…"   6 seconds ago   Up 5 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx

# 一个服务器内,只有一个端口80,但是每个独立的容器都可以有80端口,所以做端口映射时,多个容器端口可以重复映射到宿主机的端口不能重复
# 注意 88做了映射,不能访问是因为腾讯云安全组禁止了88端口,可以通过内网访问
[root@VM-0-16-centos ~]# docker run -d -p 88:80 --name=mynginx2 nginx
ff97b1b8b04e2965bd400c222b3389ffcab31ee3f13b0926b7a56c9859aefce9
[root@VM-0-16-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
ff97b1b8b04e   nginx     "/docker-entrypoint.…"   4 seconds ago    Up 3 seconds    0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx2
68b39b28cd59   nginx     "/docker-entrypoint.…"   33 minutes ago   Up 33 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
[root@VM-0-16-centos ~]# ip addr
.........
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 52:54:00:1c:d9:16 brd ff:ff:ff:ff:ff:ff
    inet 10.206.0.16/20 brd 10.206.15.255 scope global
.........
[root@VM-0-16-centos ~]# curl 10.206.0.16
.........
<title>Welcome to nginx!</title>
.........
[root@VM-0-16-centos ~]# curl 10.206.0.16:88
.........
<title>Welcome to nginx!</title>
.........
[root@VM-0-16-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
b0d06f9f5fb7   nginx     "/docker-entrypoint.…"   7 minutes ago    Created                                             mynginx3
ff97b1b8b04e   nginx     "/docker-entrypoint.…"   8 minutes ago    Up 8 minutes    0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx2
68b39b28cd59   nginx     "/docker-entrypoint.…"   41 minutes ago   Up 41 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
# 进入到访问的首页页面,进行修改
[root@VM-0-16-centos ~]# docker exec -it mynginx /bin/bash
root@68b39b28cd59:/# cd /usr/share/nginx/html/
root@68b39b28cd59:/usr/share/nginx/html# ls
50x.html  index.html
root@68b39b28cd59:/usr/share/nginx/html# echo "<h1>Hello,docker<h1>" > index.html
root@68b39b28cd59:/usr/share/nginx/html# cat index.html 
<h1>Hello,docker<h1>
root@68b39b28cd59:/usr/share/nginx/html# exit
exit
# 刷新,再次访问

 

10.命令 - 保存镜像

#将修改后的容器提交成镜像,commit -m 描述信息 ,可以基于容器ID 或 容器名 提交成镜像
[root@VM-0-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
ff97b1b8b04e   nginx     "/docker-entrypoint.…"   15 minutes ago   Up 15 minutes   0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx2
68b39b28cd59   nginx     "/docker-entrypoint.…"   48 minutes ago   Up 48 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
[root@VM-0-16-centos ~]# docker commit -m"update index.html" mynginx mynginx:v1.0
sha256:ed6ce9a5524300fa8d808c975c4f63fb8300110277fa5d2d08faeec4794b33c4
[root@VM-0-16-centos ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mynginx      v1.0      ed6ce9a55243   6 seconds ago   192MB
nginx        latest    9592f5595f2b   7 days ago      192MB
nginx        1.26.0    94543a6c1aef   14 months ago   188MB
# 可以将镜像保存成本地文件
[root@VM-0-16-centos ~]# docker save mynginx:v1.0 -o mynginx_v1.0.tar
[root@VM-0-16-centos ~]# ls -ltr
total 191812
-rw------- 1 root root 196414464 Jul  2 22:21 mynginx_v1.0.tar
# 删除本机所有容器和镜像
[root@VM-0-16-centos ~]# docker rm -f mynginx mynginx2 mynginx3 
mynginx
mynginx2
mynginx3
[root@VM-0-16-centos ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@VM-0-16-centos ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mynginx      v1.0      ed6ce9a55243   7 minutes ago   192MB
nginx        latest    9592f5595f2b   7 days ago      192MB
nginx        1.26.0    94543a6c1aef   14 months ago   188MB
[root@VM-0-16-centos ~]# docker rmi ed6ce9a55243 9592f5595f2b 94543a6c1aef
Untagged: mynginx:v1.0
Deleted: sha256:ed6ce9a5524300fa8d808c975c4f63fb8300110277fa5d2d08faeec4794b33c4
Deleted: sha256:191f2b1ca18bba1bc8a0fb5330b5927aa5e84ee136974b1c3fd3c64943cd164c
Untagged: nginx:latest
Untagged: nginx@sha256:93230cd54060f497430c7a120e2347894846a81b6a5dd2110f7362c5423b4abc
Deleted: sha256:9592f5595f2b12c2ede5d2ce9ec936b33fc328225a00b3901b96019e3dd83528
Deleted: sha256:8f3a28fb15e024be11bb5558f29adeaa18f2087363187d7dbb3ea58140f9887c
Deleted: sha256:350738d51ca51436ab482da48a1ff31e39e0b76e06b301205e458e500dc14fd0
Deleted: sha256:d914f296dd7dad8fee558cc14bf984bb569a301f95c757e77b1e59d0d3a4e640
Deleted: sha256:2e79d5623eaa2cfc931d9903695f10d0b9def9208f5558a0d5a76af319fe2e02
Deleted: sha256:cbc33e4b574314612fab56ecbe98b5b00d5f9a60865ad833dccacbf0110bb9f3
Deleted: sha256:74127feb282ee904f7c10e10c2d86f6b27db8421c361813546a8da7f351ef64a
Deleted: sha256:1bb35e8b4de116e84b2ccf614cce4e309b6043bf2cd35543d8394edeaeb587e3
Untagged: nginx:1.26.0
Untagged: nginx@sha256:192e88a0053c178683ca139b9d9a2afb0ad986d171fae491949fe10970dd9da9
Deleted: sha256:94543a6c1aefa9dfe9b4686d815a0b4470663c2d5f9abfdc2dcf9ef03b59149a
Deleted: sha256:e9eff30b6a9a33eb26e2a65e1ada5e32fd82d8fea650e4aa12f861da6b8f0d7f
Deleted: sha256:7e68efa1498b7ad724cdb01922b8e91ea66717a2c00d04d621bd727778d31196
Deleted: sha256:f0840fe5287af0eb3fb8ca8b2693dfaedc92e29772604f1f32800297555a5637
Deleted: sha256:2c9a63f662ed1d10d5ad54ba720e1dbfa4a2b09d6f0a9ad9cbfa7e701bad25b1
Deleted: sha256:a25abc4196a82a70072dd67d08f8b2adc09ea71a63188ce0ffb8d5aae7133ea9
Deleted: sha256:09fbfd28794602bc5859e2481e898fe575169ce03eae4244fd9a26628f1060c2
Deleted: sha256:5d4427064ecc46e3c2add169e9b5eafc7ed2be7861081ec925938ab628ac0e25
[root@VM-0-16-centos ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
# 导入 tar 包,可以成为镜像,再以此启动镜像,发现页面是自己修改的页面 hello docker,说明 打成镜像的tar包可以跨主机传递
[root@VM-0-16-centos ~]# docker load -i mynginx_v1.0.tar 
1bb35e8b4de1: Loading layer [==================================================>]  77.88MB/77.88MB
1bf33238ab09: Loading layer [==================================================>]  118.5MB/118.5MB
81a9d30670ec: Loading layer [==================================================>]  3.584kB/3.584kB
f941308035cf: Loading layer [==================================================>]  4.608kB/4.608kB
e6c40b7bdc83: Loading layer [==================================================>]   2.56kB/2.56kB
de2ef8ceb76a: Loading layer [==================================================>]   5.12kB/5.12kB
07eaefc6ebf2: Loading layer [==================================================>]  7.168kB/7.168kB
df09153aa2e8: Loading layer [==================================================>]  17.41kB/17.41kB
Loaded image: mynginx:v1.0
[root@VM-0-16-centos ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
mynginx      v1.0      ed6ce9a55243   10 minutes ago   192MB
[root@VM-0-16-centos ~]# docker run -d --name=app01 -p80:80 mynginx:v1.0 
3f498d6499e92dbad1f53dd470147c48a2d28078d9e4b494a8df61c7632fd7a9
[root@VM-0-16-centos ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                               NAMES
3f498d6499e9   mynginx:v1.0   "/docker-entrypoint.…"   8 seconds ago   Up 7 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   app01
[root@VM-0-16-centos ~]# curl 10.206.0.16
<h1>Hello,docker<h1>

 

11.命令 - 分享镜像

 

 

 

12.命令 - 实验小结

 

[root@VM-0-16-centos ~]# docker run -d --name=app02 -p88:80 mynginx:v1.0 
da72ae9d6ec8cf6c306ee0dd13402bead6ac961807a88fe4e06b02df6fb299d8
[root@VM-0-16-centos ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                               NAMES
da72ae9d6ec8   mynginx:v1.0   "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes    0.0.0.0:88->80/tcp, :::88->80/tcp   app02
3f498d6499e9   mynginx:v1.0   "/docker-entrypoint.…"   13 minutes ago   Up 13 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   app01

 

可以在腾讯云管理端开放端口

 

13.存储 - 目录挂载

 

14.存储 - 卷映射

 

 

15.网络 - 自定义网络

 

16.网络 - Redis主从集群

 

17.最佳实践

 

 

18.Docker Compose - 安装wordpress

 

19.Docker Compose - 语法

 

20.Docker Compose - 其他

 

21.Dockerfile - 制作镜像

 

22.Dockerfile - 镜像分层机制

 

23.超酷 - 一键启动所有中间件

 

24.超酷 - 访问测试全部通过

 

25.销毁实例

 

26.结束语

 

 

 

 

——————————————————————————————————————————————————————————————————————————

 

                                                                                                                         无敌小马爱学习

 

posted on 2025-02-06 11:47  马俊南  阅读(150)  评论(0)    收藏  举报