docker知识总结
docker真有趣,我是忘了又记起,记起又忘记。
基础概念
云端仓库
云端镜像
镜像
容器
宿主机
docker容器机
主机和容器的端口映射
主机和文件的文件映射
常用命令
docker pull
docker run
docker logs $containerId
查看容器
docker ps -a
列出镜像
docker images
停止容器
docker stop $container
删除容器
docker rm $container
删除镜像
docker rmi $image
查看容器信息
docker inspect $containerId
查看帮助说明
docker run --help
windows 10上安装docker
Install Docker Desktop on Windows
文档参考 https://docs.docker.com/docker-for-windows/install/
不太友好的地方是把docker安装到了C盘,而且我根本没得选。
windows10 上面使用的是wsl2
参考文档 https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
wsl系统是 Ubuntu-20.04 (默认)
使用windows 10 docker 搭建selenium grid环境
// todo
文档参考:https://www.seleniumeasy.com/selenium-tutorials/configure-selenium-grid-using-docker
踩坑记录:
docker run 之后发现容器里面的端口已经打开了,但是windows 10主机的端口不能访问。
如下图,容器的4444端口是打开的,
我发现我可能对主机和容器的端口映射的概念不是特别的清晰,所以导致我进入了这个坑里面。端口映射本质上属于网络层次的知识,所以要了解一下。
使用这种方法,会映射到宿主上的一个随机端口,注意是此处为大写的-P
docker run -d -P --name selenium-hub selenium/hub
使用这种方法会映射到主机的指定的端口
docker run -d -p 44444:4444 --name selenium-hub selenium/hub
使用docker ps查看端口是否成功的映射了
我的问题是为什么要进行端口映射,而不能通过容器的ip和端口直接访问呢?
会有这个问题的原因,应该是我对docker网络模型不理解。
docker network ls
我的问题–link是什么意思?? 好像是用来联通两个容器的
docker pull selenium/node-chrome
docker pull selenium/node-firefox
docker run -d --link selenium-hub:hub selenium/node-firefox
docker run -d --link selenium-hub:hub selenium/node-chrome
docker使用windows镜像
docker使用linux镜像很容易理解,但是docker怎么使用windows镜像呢?
docker hub上面有windows容器的镜像,所以下载试试
Windows容器的出现大大简化了Windows应用交付和运维的复杂性,对于微软的技术生态有着及其重要的意义。Docker在简化用户体验上做足了文章,现有工具链可以对Windows和Linux容器环境提供接近一致的能力。
但是我并没有成功的拉取下一个windows 镜像
dockerfile文件的编写
docker和k8s的区别?
k8s是容器编排技术,k8s使用的是哪种容器呢?
docker是容器的一种
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现