Docker 常见容器问题

Docker 常见容器问题

Docker 轻松学习

文章目录

一、Docker 是什么?

docker是一种技术,能使得应用在任何环境都能用的打包技术。打包出的东西叫镜像。

二、容器退出后,通过 docker container ls 命令查看不到,数据会丢失么?

容器退出后会处于终止(exited)状态,此时可以通过 docker container ls -a 查看,其中的数据也不会丢失。
代码如下(示例):

docker container ls -a 

还可以通过 docker start 命令来启动它。只有删除掉容器才会清除所有数据。

 docker start 

三、如何停止所有正在运行的容器?

docker stop $(docker container ls -q) 

四、如何批量清理已经停止的容器?

docker container prune

四、如何获取某个容器的 PID 信息?

docker inspect --format '{ { .State.Pid }}' <CONTAINER ID or NAME>

五、如何获取某个容器的 IP 地址?

docker inspect --format '{ { .NetworkSettings.IPAddress }}' <CONTAINER ID or NAME>

六、如何给容器指定一个固定 IP 地址?

docker network create -d bridge --subnet 172.0.0.1/16 my-net

docker run --network=my-net --ip=127.0.0.1 -itd --name=my-container busybox

七、如何临时退出一个正在交互的容器的终端,而不终止它?

Ctrl-p 
Ctrl-q

八、使用 docker port 命令映射容器的端口时,系统报错“Error: No public port ‘80’ published for xxx”?

* 创建镜像时 Dockerfile 要通过 EXPOSE 指定正确的开放端口;
* 容器启动时指定 PublishAllPort = true。

九、可以在一个容器中同时运行多个应用进程么?

一般并不推荐在同一个容器内运行多个应用进程。如果有类似需求,可以通过一些额外的进程管理机制,比如 supervisord 来管理所运行的进程。

十、如何控制容器占用系统资源(CPU、内存)的份额?

在使用 docker create 命令创建容器或使用 docker run 创建并启动容器的时候,可以使用 -c|–cpu-shares[=0] 参数来调整容器使用 CPU 的权重;使用 -m|–memory[=MEMORY] 参数来调整容器使用内存的大小。

十一、Docker启动报错 Error response from daemon

Error response from daemon: driver failed programming external connectivity on endpoint gloomy_kirch

systemctl restart firewalld
systemctl restart docker

总结

遇到 Docker 问题不要怕,记下来,下次省的忘记了

希望这个博客能对你有所益处。我是轻王,我为自己代言。

    原文作者:猫轻王
    原文地址: https://blog.csdn.net/moer0/article/details/123141419
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞