docker优势
轻量级、资源损耗少、启动快、性能高、只能运行linux系统
容器技术发展历程
1.chroot技术
新建一个子系统(拥有自己完整的系统文件)
ldd /bin/ls(查看ls命令依赖的库文件)
2.linux容器(lxc)-linux container
namespaces命名空间、隔离环境、cgroup进程资源限制
3.docker容器
初期使用lxc二次开发,后期使用libcontainer
镜像管理
docker search -搜索镜像 docker pull -拉镜像,默认最新版latest docker image ls -镜像列表 docker image save -镜像导出 docker image load -镜像导入 docker image rm -镜像删除
容器管理
run-创建并启动 start-启动 -d 后台运行 -p 指定端口映射 -P 系统自动指定端口映射 -it 分配交互式终端 --name 指定容器名称 ctrl+d 退出容器 -v 源地址(宿主机):目标地址(容器) -e 环境变量
docker container ls 查看启动容器 docker container ls -a 查看所有容器 docker container start/restart/stop/kill/rm 启动/停止/杀死/删除容器
进入正在运行的容器
docker container attach 进入容器同一个终端,画面同步 docker container exec -it name /bin/bash 使用exec分配tty进入容器 /bin/bash 覆盖容器初始命令 ctrl+p,ctrl+q悄悄退出
容器网络
默认容器网络-nat模式,172网段
-p 80:80 -p 514:514/udp 指定udp协议,默认tcp协议
容器数据持久化
docker container cp 宿主机目录 容器名:目录 -复制宿主机目录 docker run -d -v 源地址(宿主机):目标地址(容器) 容器名 -挂载主机目录,之后直接修改宿主机目录内容便可 数据卷管理 docker run -d -v 卷名:目标地址(容器) 容器名 -数据卷(第一次卷空,将容器数据拷贝至卷;若卷有数据则卷数据挂载到容器) docker volume inspect 卷名 --volume-from 跟某一个已经存在的容器挂载相同的卷