前言
docker是一种轻量级的虚拟化技术,相比虚拟机(virtualbox/vmware)而言,资源消耗更少。
主要利用host主机的操作系统的namespace,cgroup,chroot技术来实现资源隔离;而虚拟机是通过Hypervisor技术来实现资源隔离。
docker架构
docker命令
docker命令的执行就是一个client,client请求到后台运行的docker engine,当需要pull image或是push image的时候,就会和image server进行交互。
命令 | 注释 |
sudo apt install docker.io | 安装docker engine |
sudo service docker start | 启动docker服务 |
sudo usermod -aG docker ${USER} | 将当前用户添加到docker组,这样可以 避免权限问题 |
docker pull busybox | 从docerhub拉取busybox image |
docker run busybox ls | 运行busybox image并执行ls操作 |
docker run -it alpine sh | -it可以离开当前host os进入alpine os |
docker run -d xxx | -d 后台运行 |
docker rmi xxx | 删除镜像 |
docker rm xxx | 删除容器 |
docker images | list 本机上的image |
dokcer ps/ docker ps -a | 运行的容器/所有的并包含已结束的容器 |
docker -v 本机目录:docker内系统目录 | 目录映射共享 docker -v /tmp:/tmp |
docker -p 本机端口:docker内系统端口 | 端口映射,可以实现主机和docker互通;例如映射本机9000端口到docker内的22端口 docker -p 9000:22 |
docker exec -it [container id] /bin/bash | 进入正在运行的容器内 shell bash环境 |