虚拟技术
docker
参考教程:菜鸟教程
彻底卸载
之前安装过docker,但是无法执行helloworld程序
安装docker出现很多问题
晚上搜了很多都没有解决,最后选择直接重装

docker尝试直接使用官方教程止步在了docker代理配置
出现了
https://blog.csdn.net/Cai_deLong/article/details/115255735参考
我之前有修改过文件传输上限,但是这次还是出现了问题,文章中配置git最低速度和最低速度时间,这里是因为超过的git的最低速度和最低速度时间,所以直接退出来了
1 引言
docker的主要用于后端工程师还有运维工程师
用途:
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
简单来说就是将应用程序与本机架构隔离开,能够避免因为环境问题出现例如编译不通过之类的问题
优点:
1、快速,一致地交付您的应用程序
Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。
2、响应式部署和扩展
Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。
3、在同一硬件上运行更多工作负载
Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。
2 架构
docker由三部分组成
- 镜像(image)
- 容器
- 仓库
容器和镜像的关系就像面向对象编程中的类和实例,镜像是类,而容器是实例
3.常用指令
列出所有容器ID
1 | docker ps -aq |
查看所有运行或者不运行容器
1 | docker ps -a |
停止所有的container(容器),这样才能够删除其中的images:
1 | docker stop $(docker ps -a -q) 或者 docker stop $(docker ps -aq) |
如果想要删除所有container(容器)的话再加一个指令:
1 | docker rm $(docker ps -a -q) 或者 docker rm $(docker ps -aq) |
查看当前有些什么images
1 | docker images |
删除images(镜像),通过image的id来指定删除谁
1 | docker rmi <image id> |
想要删除untagged images,也就是那些id为的image的话可以用
1 | docker rmi $(docker images | grep "^<none>" | awk "{print $3}") |
要删除全部image(镜像)的话
1 | docker rmi $(docker images -q) |
强制删除全部image的话
1 | docker rmi -f $(docker images -q) |
从容器到宿主机复制
1 | docker cp tomcat:/webapps/js/text.js /home/admin |
从宿主机到容器复制
1 | docker cp /home/admin/text.js tomcat:/webapps/js |
删除所有停止的容器
1 | docker container prune |
删除所有不使用的镜像
1 | docker image prune --force --all或者docker image prune -f -a |
停止、启动、杀死、重启一个容器
1 | docker stop Name或者ID |
docker进入容器,查看配置文件
1 | docker exec :在运行的容器中执行命令 |
出现root@f94d2c317477:/usr/share/elasticsearch/config# vi elasticsearch.yml
bash: vi: command not found
1 | apt-get update && apt-get install vim -y |
修改配置、退出容器
1 | 1、如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器 |

出现无法可视化
举例创建一个humble-full
1 | docker pull osrf/ros:humble-desktop-full |
切记在创建容器的时候要注意添加可视化选项
1 | docker run --env="DISPLAY" --net=host --volume="$HOME/.Xauthority:/root/.Xauthority:rw" --env="QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:ro -it --name visual_use -v /home:/out_home osrf/ros:humble-desktop-full /bin/bash |
卸载ros2
1 | sudo apt-get purge ros-* |
4.docker镜像加速器

这是最开始的写法,但是出现了镜像下载不下来的情况
kvm
ubuntu20.04使用kvm搭建虚拟机+bridge网桥,亲测有效_ubuntu kvm bridge-CSDN博客

ifconfig也可以直接看出来

下面的命令是查看当前网卡名称
1 | sudo cat /proc/net/dev | awk '{i++; if(i>3){print $1}}' | sed 's/^[\t]*//g' | sed 's/[:]*$//g' |
查看当前dns
systemd-resolve –status
或
resolvectl status

查看网关
1 | route -n |

查看nameserver
1 | cat /etc/resolv.conf |