菜鸟科技网

Docker容器命令有哪些常用操作?

Docker容器命令是管理容器生命周期、操作容器内部环境以及与容器交互的核心工具,掌握这些命令能有效提升容器化应用的部署和运维效率,以下是常用命令的详细说明及使用场景。

Docker容器命令有哪些常用操作?-图1
(图片来源网络,侵删)

容器管理命令是基础,其中docker run用于创建并启动新容器,例如docker run -d --name mynginx -p 80:80 nginx以后台模式启动一个名为mynginx的Nginx容器,并将宿主机80端口映射到容器80端口。docker ps列出运行中的容器,docker ps -a可查看所有容器(包括已停止的)。docker stopdocker start分别用于停止和启动容器,如docker stop mynginx停止容器,docker start mynginx重新启动。docker rm删除容器,docker rm -f mynginx强制删除运行中的容器,而docker system prune可清理无用的容器、镜像和网络,释放存储空间。

容器内部操作命令允许与容器交互。docker exec在运行中的容器内执行命令,例如docker exec -it mynginx bash以交互模式进入容器bash终端,-i保持输入流,-t分配伪终端。docker logs查看容器日志,docker logs -f mynginx实时跟踪日志输出,--tail参数可限制日志行数,如docker logs --tail 100 mynginxdocker inspect获取容器详细信息,包括IP地址、挂载点等,例如docker inspect mynginx | grep IPAddress提取容器IP。

镜像与容器数据管理命令同样重要。docker commit将容器保存为镜像,如docker commit mynginx mynginx:v1基于mynginx容器创建版本为v1的镜像。docker cp在宿主机与容器间复制文件,docker cp /host/path mynginx:/container/path将宿主机文件复制到容器内,数据卷管理通过docker volume create创建卷,docker run -v myvol:/data nginx将卷挂载到容器目录,实现数据持久化。

网络管理命令用于配置容器通信。docker network create自定义网络,docker network create mynet创建名为mynet的桥接网络,docker run --network mynet nginx将容器加入该网络,实现容器间通过名称通信,端口映射除-p外,还可使用--publish,格式为宿主机端口:容器端口,支持TCP/UDP协议指定,如-p 8080:80/udp

Docker容器命令有哪些常用操作?-图2
(图片来源网络,侵删)

资源限制命令可防止容器占用过多资源。docker run --memory 512m --cpus 1 nginx限制容器内存512MB、CPU使用1核,--memory-swap可设置内存加交换空间上限,--restart设置容器重启策略,如--restart unless-stopped表示除非手动停止,否则容器退出后自动重启。

相关问答FAQs:

  1. 问:如何查看容器内部进程?
    答:使用docker top [容器名/ID]命令,例如docker top mynginx可查看容器内运行的进程列表,包括PID、用户、CPU及内存占用等信息,方便排查容器内进程异常问题。

  2. 问:容器无法启动如何排查?
    答:首先通过docker logs [容器名/ID]查看容器日志,定位错误信息;其次使用docker inspect [容器名/ID]检查容器配置,如端口冲突、资源不足或镜像是否存在;若仍无法解决,可尝试docker rm -f [容器名/ID]删除容器后重新创建,或检查宿主机Docker服务状态(docker info)。

    Docker容器命令有哪些常用操作?-图3
    (图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇