docker常用命令

bash 复制代码
sudo docker cp 1.py h6:/test  #把当前路径下的1.py复制进docker  h6的test目录之下

sudo  docker pull ubuntu:20.04   # 将ubuntu:20.04docker镜像从仓库pull到本地

docker images #查看本地镜像

docker run -itd --name h1  ready2-h #运行容器  ubuntu-test--命名的容器名字,ubuntu:20.04在刚命名容器中运行的镜像,改名字进而创建多个docker容器,(
● -i, --interactive:保持标准输入(stdin)打开,允许与容器进行交互。
● -t, --tty:为容器分配一个伪终端(pseudo-TTY),以便可以在容器中执行交互式命令。
● -d, --detach:将容器放入后台运行模式,即使没有终端连接也保持容器运行。

docker rm ubuntu3 ubuntu4# : 删除创建的container

docker stop ubuntu3 ubuntu4 #:停止正在运行的container

docker start host1 #启动


docker ps  #查看正在运行的容器
docker ps -a #查看包括已经停止的容器

docker ps -aq  #列出所有容器的 ID,包括运行中的和停止的容器  , 这个命令在清理容器时非常有用。例如,要删除所有容器 
 
docker rm $(docker ps -aq)


docker build -t <image_name>:<tag> . #  会使用当前目录下的 Dockerfile 来构建 Docker 镜像。  

docker save -o <output_file>.tar <image_name>:<tag> #:Docker 镜像导出为 tar 文件,便于备份或转移到其他系统 
 
docker load -i dm_v1.tar  #   将一个已经保存为 .tar 文件的 Docker 镜像加载到本地的 Docker 环境中 ,-i 参数指定要加载的 .tar 文件  

容器内

bash 复制代码
sudo docker exec -it h1 /bin/bash  #通过exec命令进入ubuntu容器,进入ubuntu20.04image实例出的容器后,sudo,ifconfig一系列命令不能用,apt-get update      apt-get install net-tools先安装ifconfig

sudo docker attach dockername

apt-get install iputils-ping安装ping

apt-get install iproute2安装 ip addr命令查看容器内接口

#容器内创建ovs时apt-get install openvswitch-switch似乎并没有启动ovs服务,
service openvswitch-switch start #先启动服务,就可以使用ovs了

docker cp 命令将本地文件复制到容器中:

docker cp file <container_id>:/path/in/container/file
 /path/on/local/system/file 替换为本地系统上要上传的文件路径,将 <container_id> 替换为容器的实际 ID,将 /path/in/container/file 替换为容器中要保存文件的路径。

 
Ctrl + p,然后 Ctrl + q:在使用 docker attach 时,可以安全地分离终端而不终止容器。  

网络模式相关命令

bash 复制代码
docker run -itd --name ubuntu-test --net none ubuntu:20.04 

docker inspect --format='{{.HostConfig.NetworkMode}}' h1 查看容器host2的网络模式

docker network create --subnet 192.168.1.0/24 --gateway 192.168.1.1 ryu-net
● docker network create: 这是 Docker 命令的一部分,用于创建一个网络。
● --subnet 192.168.1.0/24    网关为 192.168.1.1      ryu-net: 这是要创建的网络的名称

docker network ls:列出所有的 Docker 网络。

docker inspect <container id>: 在 docker inspect 输出的 JSON 数据中,查找 NetworkSettings 部分,以了解容器的网络配置。你也可以使用 --format 选项直接提取网络模式。  

创建新镜像

bash 复制代码
docker rmi <image>:删除镜像
docker commit [CONTAINER ID] [IMAGE NAME]   #容器ID  创建的镜像名
docker images   #可以看到该镜像已经创建成功,下次需要新建容器时可直接使用该镜像

ovs-docker工具

bash 复制代码
sudo ./ovs-docker add-port ovs eth0-ovs host1 --ipaddress=10.0.1.2/24 --gateway=10.0.1.1  
#创建了一对接口, 利用ovs-docker工具给容器host1添加一个接口eth0-ovs,其ip为10.0.1.2/24,这个接口直连ovs网桥,
#在主机端也会创建一个接口02e9db67174f4_l(这种形式)ifconfig可查到,sudo ovs-vsctl show也可查到

问题

重启虚拟机ovs-docker创建的一对端口会直接消失,在ovs-docker中创建一对接口的命令

会提示已经创建,但在ovs和docker中都找不到端口,删除ovs后重新创一个即可 如何查看创建一对的接口的名字,让h2 ping

h4,ifconfig检查个端口的前后RX TX情况,便可得到

相关推荐
你好呀我是裤裤1 小时前
Linux基础开发工具的使用(apt、vim、gcc、g++、gdb、make、makefile)
linux·运维·vim
望获linux1 小时前
如何在望获实时 Linux & 京博航友善 NanoPC-T6 上部署 Docker
linux·运维·服务器·docker·eureka·开源软件
小白电脑技术1 小时前
Docker小雅Emby全家桶配置夸克网盘Cookie教程
docker
wangchen_01 小时前
linux编译器和自动化构建工具(gcc与Makeile)
linux·运维·服务器
DC_BLOG2 小时前
Linux-Ansible命令
linux·运维·服务器·ansible
人工干智能2 小时前
科普:“docker”与“docker compose”
运维·docker·容器
suenpeng2 小时前
安全运维,等保测试常见解决问题。
linux·运维·安全
神马都会亿点点的毛毛张2 小时前
【Docker教程】万字长文详解Docker命令
java·运维·后端·docker·容器
Anna_Tong2 小时前
阿里云 ACS:高效、弹性、低成本的容器计算解决方案
人工智能·阿里云·容器·kubernetes·serverless·云计算·devops
马剑威(威哥爱编程)3 小时前
Linux驱动开发13个实用案例
linux·运维·驱动开发