简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器 [2]
常用命令整理
#重启容器docker restart <容器名>
#查看pull下来的镜像docker image ls
#查看全部容器docker ps -a
#删除某个容器docker rm <容器id> (或docker rm <容器名称>)
#停止所有的容器docker stop $(docker ps -aq)
#删除所有停止的容器docker rm $(docker ps -aq)
#删除所有镜像docker rmi $(docker images -q)
#删除某个镜像docker rmi <镜像名称>
#删除所有未打aaaa标签的镜像docker rmi $(docker images -q -f aaaa=true)
#杀死所有正在运行的容器docker kill $(docker ps -a -q)
#目录挂载:
docker run -it -v <宿主机目录>:<容器目录> <镜像名> <命令>
(或者)
docker run -it –mount type=bind,source=<宿主目录>,target=<容器目录> <镜像名> <命令>
区别: -v 参数可以,挂载多个主机目录
例如:docker run -it -P –name N1 -v /home/amor/Documents/:/opt/web_doc -v /home/amor/Downloads/:/opt/web_down image-server /bin/bash
#容器中输入命令df -h可以查看硬盘的使用情况,看出docker的路径与主机上的路径的位置关系。
#用docker export/import备份运行中的容器为压缩文件,和从备份文件恢复镜像:
docker export 导出容器为压缩文件(压缩文件位置是/storage,用ls命令可以看到)
命令格式如下:docker export -o
例如:docker export -o nginx.tar nginx-test把一个运行的容器(nginx-test)导出为nginx.tar文件
docker import 把导出的文件系统导入为镜像并重命名
例如:docker import alpine.tar myalpine把刚导出的容器文件alpine.tar系统创建为镜像,并命名为myalpine
#修改容器的挂载目录
方法1:提交现有容器为新镜像,然后重新运行($PWD表示当前目录)
docker commit <容器ID> <新镜像名>
docker run -ti -v “$PWD/dir1”:/dir1 -v “$PWD/dir2”:/dir2 <新镜像名> /bin/bash
然后停止旧容器,并使用新容器,如果由于某种原因需要新容器使用旧名称,请在删除旧容器后使用docker rename
方法2:export容器为镜像,然后import为新镜像
docker container export -o <tar文件名> 容器ID
docker import <tar文件名> <新镜像名>
docker run -ti -v “$PWD/dir1”:/dir1 -v “$PWD/dir2”:/dir2 newimagename /bin/bash
然后停止旧容器,并使用新容器,如果由于某种原因需要新容器使用旧名称,请在删除旧容器后使用docker rename
#上传软件到容器中
docker cp xxx.tar mycentos:/root/
#在容器中安装软件
#将交互式的容器提交为一个新的镜像
docker commit <容器ID> <新镜像名称>
然后可以停止容器删除容器,把新镜像生成容器并运行。
#重建docker0网络恢复(6步)
pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
docker -d
systemctl restart docker
-------------本文结束感谢您的阅读-------------