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是容器的一种

posted @ 2022-03-06 10:37  叶常落  阅读(5)  评论(0编辑  收藏  举报