File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -44,8 +44,30 @@ image::containerd/c8116066bdbf295a7c9fc25b87755dfe.jpg[docker]
4444|**`docker rmi <image_id>`** |删除一个本地镜像。
4545|**`docker pull <image_name>`** |从 Docker Hub 拉取镜像。
4646|**`docker build -t <image_name> .`** |从 Dockerfile 构建镜像。
47+ |**`docker stats`**|查看容器的CPU等资源使用情况。
48+ |**`docker logs`**|查看容器的日志。
49+ |**`docker exec`**|进入到容器内部执行命令
4750|===
4851
52+ ===== `docker commit`
53+
54+ `docker commit` 命令用于将一个容器中的更改提交为一个新的镜像。
55+
56+ 这个命令特别是在国内特别有用,国内开发打包镜像比较麻烦,因此可以先将需要的镜像下载到本地,然后运行之后,替换需要替换的文件,然后使用 `docker commit` 命令来提交一个容器的更改为一个新的镜像。
57+
58+ .eg
59+ [source,bash]
60+ ----
61+ docker commit -m "commit message" -a "author" <container_id> <image_name>
62+ ----
63+
64+
65+
66+
67+
68+
69+
70+
4971==== 镜像
5072
5173===== *获取镜像*
@@ -884,6 +906,23 @@ db_data:
884906- **部署到生产环境**:将应用程序部署到云平台(如 AWS、Google Cloud、Azure)或本地服务器,使用 Docker Swarm 或 Kubernetes 进行编排。
885907- **持续集成/持续部署 (CI/CD)**:集成 CI/CD 工具(如 Jenkins、GitLab CI、GitHub Actions)来自动化构建、测试和部署流程。
886908
909+
910+ === 网络
911+
912+ 容器内部可以直接使用容器ip+容器端口(不是映射之后的端口)进行通信
913+
914+ 如果想让docker容器之间网络使用域名进行通讯,还需要创建一个新的网络空间,默认启动的docker是在docker0网络空间,但是docker0网络空间不能进行域名通讯。
915+
916+ [source, bash]
917+ ----
918+ docker network create mynet
919+ # 在多个容器加入同一个网络空间之后,可以直接通过容器名+端口进行访问
920+ docker run -d --name web1 --network mynet nginx
921+ # 可以参考redis主从复制集群的实现
922+ ----
923+
924+
925+
887926=== 总结
888927
889928通过以上步骤,您可以逐步掌握 Docker 的核心概念和高级功能。学习 Docker 不仅可以帮助您更好地理解和使用容器化技术,还可以提高您的开发效率和应用程序的可维护性。如果您有更多具体的问题或需要进一步的帮助,请随时告知!
Original file line number Diff line number Diff line change 1+ version : ' 3.4'
2+ services :
3+ web :
4+ image : nginx:latest
5+ networks :
6+ - mynet
7+ ports :
8+ - " 8080:80"
9+ volumes :
10+ - ./html:/usr/share/nginx/html
11+
12+
13+ # 定义网络(根据需求选择以下两种方式之一)
14+ # 方式1:让 Docker Compose 自动创建 mynet 网络
15+ networks :
16+ mynet :
17+
18+ # 方式2:使用已存在的 mynet 网络(需提前创建)
19+ # networks:
20+ # mynet:
21+ # external: true
Original file line number Diff line number Diff line change 1+ <!DOCTYPE html>
2+ < html lang ="zh-CN ">
3+ < head >
4+ < meta charset ="UTF-8 ">
5+ < title > 欢迎来到我的网站</ title >
6+ < style >
7+ body {
8+ font-family : Arial, sans-serif;
9+ background-color : # f0f0f0 ;
10+ margin : 0 ;
11+ padding : 0 ;
12+ }
13+ .container {
14+ width : 80% ;
15+ margin : auto;
16+ overflow : hidden;
17+ }
18+ header {
19+ background-color : # 50b3a2 ;
20+ color : white;
21+ padding-top : 30px ;
22+ min-height : 70px ;
23+ border-bottom : # e8491d 3px solid;
24+ }
25+ header h1 {
26+ text-align : center;
27+ text-transform : uppercase;
28+ margin : 0 ;
29+ font-size : 24px ;
30+ }
31+ footer {
32+ background-color : # 50b3a2 ;
33+ color : white;
34+ text-align : center;
35+ padding : 10px 0 ;
36+ position : absolute;
37+ bottom : 0 ;
38+ width : 100% ;
39+ }
40+ </ style >
41+ </ head >
42+ < body >
43+ < header >
44+ < div class ="container ">
45+ < h1 > 我的Nginx示例网站</ h1 >
46+ </ div >
47+ </ header >
48+
49+ < div class ="container ">
50+ < h2 > 欢迎!</ h2 >
51+ < p > 这是一个简单的HTML页面示例,用于展示如何使用Nginx提供静态内容。</ p >
52+ </ div >
53+
54+ < footer >
55+ < p > 版权所有 © 2025 我的公司. 保留所有权利.</ p >
56+ </ footer >
57+ </ body >
58+ </ html >
Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+
3+ docker-compose up -d
4+
5+
6+
7+
8+
Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+
3+ docker-compose down
Original file line number Diff line number Diff line change 1+ version : ' 3.4'
2+
3+ services :
4+ redis-master :
5+ image : redis:latest
6+ container_name : redis-master
7+ ports :
8+ - " 6379:6379"
9+ volumes :
10+ - redis-master-data:/data
11+ networks :
12+ - redis-network
13+ command : redis-server --appendonly yes # 开启持久化
14+ restart : unless-stopped
15+
16+ redis-slave1 :
17+ image : redis:latest
18+ container_name : redis-slave1
19+ ports :
20+ - " 6380:6379"
21+ volumes :
22+ - redis-slave1-data:/data
23+ networks :
24+ - redis-network
25+ command : redis-server --appendonly yes --replicaof redis-master 6379
26+ restart : unless-stopped
27+
28+ redis-slave2 :
29+ image : redis:latest
30+ container_name : redis-slave2
31+ ports :
32+ - " 6381:6379"
33+ volumes :
34+ - redis-slave2-data:/data
35+ networks :
36+ - redis-network
37+ command : redis-server --appendonly yes --replicaof redis-master 6379
38+ restart : unless-stopped
39+
40+ volumes :
41+ redis-master-data :
42+ redis-slave1-data :
43+ redis-slave2-data :
44+
45+ networks :
46+ redis-network :
47+ driver : bridge
Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+
3+ docker-compose up -d
4+
5+
6+
7+
Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+
3+ docker-compose down
Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+
3+
4+ # shellcheck disable=SC2046
5+ docker stop $( docker ps -q)
6+ docker rm $( docker ps -aq)
7+
8+
You can’t perform that action at this time.
0 commit comments