docker操作
docker容器查询
只显示当前正在运行的容器
docker ps
列出所有容器,包括正在运行的和已经停止的容器
docker ps -a
进行模糊查询并且指定字段
docker ps -a --format "table {{.ID}}\t{{.Names}}" | grep <partial_name>
demo
docker ps -a --format "table {{.ID}}\t{{.Names}}" | grep ng
6a5adb00e080 nginx
docker ps -a | grep "<your-search-pattern>"
demo
docker ps -a | grep neginx
docker ps -a | grep neginx
管理和控制容器的生命周期
启动\停止\暂停\恢复 容器
启动容器
使用 docker start <container_id_or_name> 命令来启动一个已经停止的容器。
使用 docker run <image_name> 命令来创建并启动一个新的容器.
docker start <container_id_or_name>
docker run <image_name>
停止容器
使用 docker stop <container_id_or_name> 命令来停止一个正在运行的容器。
docker stop <container_id_or_name>
暂停容器:
使用 docker pause <container_id_or_name> 命令来暂停容器内的所有进程。
docker pause <container_id_or_name>
恢复容器:
使用 docker unpause <container_id_or_name> 命令来恢复之前被暂停的容器。
查看日志\进入\退出\删除\查看 容器状态
查看容器日志:
使用 docker logs <container_id_or_name> 命令来查看容器的日志输出。
docker logs -f --tail 20 [容器名称或ID]
进入容器:
使用 docker exec -it <container_id_or_name> /bin/bash 命令可以进入容器的交互式 shell。
docker exec -it <container_id_or_name> /bin/bash
如果容器只支持 sh
docker exec -it <container_id_or_name> /bin/sh
退出容器
exit
删除容器:
使用 docker rm <container_id_or_name> 命令来删除一个容器。注意,删除前需要确保容器已经停止。
docker rm <container_id_or_name>
查看容器状态:
使用 docker inspect <container_id_or_name> 命令来获取容器的详细信息和状态。
docker inspect <container_id_or_name>
docker-compose
下载安装docker 和 docker-compose
安装docker
snap install docker
nap install docker 的作用
- 【安装 Docker】通过 Snap 安装 Docker 会将 Docker 引擎及其所有依赖项安装到系统中。Snap 包通常会包括所有所需的库和配置,使安装过程更加简便。
- 【自动更新】Snap 会定期自动更新已安装的应用程序,包括 Docker。这意味着你可以获得最新的安全补丁和功能改进,而无需手动干预。
- 【隔离性】Snap 应用程序运行在其自己的隔离环境中,这减少了与系统其他部分的冲突风险。Snap 包也包含了应用程序的所有依赖项,从而降低了与系统库版本不匹配的问题。
- 【简化管理】Snap 提供了一个统一的接口来管理已安装的应用程序,包括 Docker。你可以使用 snap 命令来更新、移除和查看应用程序的状态。
apt install docker
检查 Docker Compose 是否已安装
docker-compose --version
docker-compose.yml 样例
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
docker-compose 命令
docker-compose up
docker-compose up -d
docker-compose ps
docker-compose up 会持续在终端中输出日志,直到所有服务启动完毕并稳定运行。在标准输出中,如果你看到 done 或者类似的启动信息,通常表示容器已成功启动。
使用 -d 选项以守护进程模式运行 docker-compose,这将让容器在后台运行,docker-compose up 命令会立即返回。你可以使用 docker-compose ps 来查看容器的状态:
检查日志输出
docker-compose logs
docker-compose logs <service_name>
demo
docker-compose logs web
停止并移除容器
docker-compose down
- 停止所有运行中的服务容器。
- 移除所有服务容器。
- 还会移除网络(如果是 docker-compose up 创建的自定义网络)
仅停止容器
docker-compose stop
docker-compose stop <service_name>
docker-compose logs <service_name1> <service_name2>
docker-compose logs -f <service_name>
- 这将停止所有服务容器,但保留容器数据和配置,以便将来可以使用 docker-compose start 重新启动它们。
- docker-compose logs 命令本身不支持直接查看日志的时间范围。如果你需要查看特定时间范围的日志,你可以先将日志输出到文件中,然后使用工具(如 grep 或 awk)处理日志文件。
docker-compose logs <service_name> > logs.txt
然后使用 grep 或其他工具在 logs.txt 文件中查找特定时间段的日志。
移除特定服务的容器
docker-compose rm <service_name>
启动
docker 创建容器示例
docker 创建 neginx
docker run --name nginx -p 80:80 -v /path/to/html:/usr/share/nginx/html -v /path/to/nginx.conf:/etc/nginx/nginx.conf -d nginx
docker 创建pointcloud数据库
docker run -d --name pointcloud -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=pass -p 5432:5432 -v /data/postgres/postgresql/data:/var/lib/postgresql/data pgpointcloud/pointcloud