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.结束语
——————————————————————————————————————————————————————————————————————————
无敌小马爱学习
浙公网安备 33010602011771号