docker

docker视频
https://www.bilibili.com/video/BV1THKyzBER6/?spm_id_from=333.337.search-card.all.click&vd_source=62bbaa20b7abf424049331eda5968348

docker 与 虚拟机的区别

多个 docker 容器是用同一个内核,而多个虚拟机是每一个都有自己的操作系统与内核

所以多个 docker 容器就相当于多个进程一样

docker 的实现

主要是 cgroups 机制用来限制和隔离进程的资源与使用。

namespace 机制用来隔离进程的资源视图,每个容器只能看到自己内部的的进程ID,各种资源等,看不到宿主机的。

docker 的网络

宿主机与容器内网络不通,所以可以用 docker run -p <宿主机端口>:<容器端口> [镜像名] [启动命令],用来映射宿主机端口与容器端口,比如某一个程序是在localhost:80起一个网页,容器内执行这个程序,但是宿主机的localhost:80上并不能查看到这个网页,当映射了宿主机端口与容器端口,这时在宿主机也可以访问容器内的网络服务,从而在宿主机的localhost:80上访问这个网页了

常用命令

  • doker pull 镜像名:拉取镜像
  • docker run 镜像名:运行容器
  • docker rm 容器名:删除容器
  • docker rmi 镜像名:删除镜像
  • docker stop 容器名:停止容器运行,但不删除容器
  • docker ps -a:显示所有容器,包括运行和停止运行的
  • docker exec -it 容器名或者编号 [命令]:在一个已经启动(running)的容器内部,额外运行一个新的命令或进程。它不会重启容器,也不会影响容器主进程(PID 1),常用 docker exec -it <容器名或ID> /bin/bash,进入容器进行调试
  • docker run -p <宿主机端口>:<容器端口> [镜像名] [启动命令]:Docker 中用于 端口映射(Port Mapping) 的关键参数,它的作用是将容器内部的端口暴露到宿主机(你的电脑)上,从而让你能从外部访问容器中的服务(比如 Web 服务器、数据库等)。
posted @ 2025-12-08 15:22  爱吃鸡魔人zf  阅读(6)  评论(0)    收藏  举报