企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Docker 常用命令汇总 https://blog.csdn.net/weixin_39681058/article/details/110088896 ### 查看端口使用 `docker ps --format '{{.ID}}\t{{.Names}}\t{{.Ports}}' | grep '9013'` ### 查看扩展 `docker exec php81 php --ri swoole` ### 查看容器名称 `docker ps --format "{{.Names}}" ` ### 执行容器命令 ``` docker exec -i docker-php-env_php81_1 /bin/bash -c 'cd /www/api/api && composer install' docker exec -it -w /www/api/api docker-php-env_php81_1 composer install docker exec -it -w /data/www/swoole php81(容器) php redis.php ``` ### --entrypoint ``` docker run --entrypoint /bin/bash -it ``` 这个命令的意思是使用 Docker 运行一个指定的容器,并且在容器内部启动一个交互式的 Bash shell。 这里的`--entrypoint /bin/bash`参数将覆盖 Dockerfile 中配置的默认`ENTRYPOINT`,并指定`/bin/bash`作为容器启动后执行的第一个命令。也就是说,容器启动后会直接进入 Bash shell,而不是执行 Dockerfile 中定义的默认命令。`-it`参数是两个选项的组合:`-i`(或`--interactive`)保证 STDIN(标准输入)是开放的,`-t`(或`--tty`)为容器分配一个伪终端,这使你能够与 Bash shell 交互。 ### 镜像加速 ``` vi /etc/docker/daemon.json ``` ### **进入容器**的常用方法 ~~~sh docker exec -it 1e33b26152e1 /bin/sh docker exec -it 1e33b26152e1 bash docker exec -it 1e33b26152e1 sh ~~~ ### Docker 镜像命令 docker删除 **未使用** 到的镜像 ``` docker image prune -a # 或者 docker image prune -a -f   #-f强制,无需确认 ``` 列出镜像列表 ~~~sh $ docker images $ docker image ls -a ~~~ 运行 Docker 镜像(守护态方式) ~~~sh $ docker run -d {镜像名} ~~~ 删除指定 Docker 镜像 ~~~sh $ docker image rm {镜像名} ~~~ 删除 Docker 虚悬镜像 ~~~sh $ docker image prune ~~~ ### Docker 容器命令 列出正在运行的容器 ~~~bash $ docker ps -a ~~~ 列出所有容器(包括已停止容器) ~~~bash $ docker ps -l ~~~ 进入运行中的 Docker 容器 ~~~bash $ docker exec -it {容器ID} /bin/bash ~~~ 停止 Docker 容器 ~~~bash $ docker stop {容器ID} ~~~ 删除指定 Docker 容器 ~~~bash $ docker rm -f {容器ID} ~~~ 删除停止的 Docker 容器 ~~~bash $ docker container prune ~~~ 查看 Docker 容器历史运行日志 ~~~bash $ docker logs {容器名} ~~~ 实时监听 Docker 容器运行日志 ~~~bash $ docker logs -f {容器名} ~~~ ### Docker 数据卷命令 查看容器挂载的数据卷 ~~~bash $ docker inspect {容器ID} | grep Mounts -A 20 ~~~ 创建 Docker 数据卷 ~~~bash $ docker volume create {数据卷名} ~~~ 列出所有 Docker 数据卷 ~~~bash $ docker volume ls ~~~ 删除指定 Docker 数据卷 ~~~bash $ docker volume rm {数据卷名} ~~~ 删除未关联(失效) Docker 数据卷 ~~~bash $ docker volume prune $ docker volume rm $(docker volume ls -qf dangling=true) ~~~ ### Docker 文件操作命令 从主机复制文件到 Docker 容器中 ~~~bash $ sudo docker cp {主机内文件路径} {容器ID}:{容器内文件存储路径} ~~~ 从 Docker 容器中复制文件到主机中 ~~~bash $ sudo docker cp {容器ID}:{容器内文件路径} {主机内文件存储路径} ~~~ ### [Docker内安装ping命令](https://www.cnblogs.com/jiftle/p/12691680.html) ``` apt-get update apt install iputils-ping ``` ### **删除所有容器** * 删除所有容器首先需要停止所有容器 `docker stop $(docker ps -a -q)` * 删除所有容器 `docker rm $(docker ps -a -q)` * **列出**所有处于停止状态的**容器列表** `docker ps -a -f status=exited` * 删除所有处于停止状态的容器 `docker rm $(docker ps -a -f status=exited -q)` ### **删除所有镜像** ``` docker rmi -f $(docker images -qa) ``` ### **删除所有网络** ``` docker network prune -f #这个命令会删除所有未使用的 Docker 网络(即没有容器与网络相关联)。 #如果您希望删除所有 Docker 网络(无论是否使用),可以使用以下命令: docker network rm $(docker network ls -q) ```