Docker 学习及基础命令
一、docker是什么?
docker 是一种开源的应用容器引擎,属于一种轻量级的虚拟机,这种虚拟机可以发布到任何流行的linux系统上。
相比传统的虚拟机的硬件虚拟和完整的操作系统等额外开销,docker容器可以利用宿主机的linux系统资源,所以在应用执行速度,内存消耗或文件存储速度方面,docker执行效率都比较高。
二、docker的三大用途
(1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
(3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。
三、docker安装
可以参照手册,这里不多赘述
需要注意的一点是安装完要修改一下源镜像配置
vi /etc/docker/daemon.json { "registry-mirrors": ["http://hub-mirror.c.163.com"] }
四、docker 使用
1.docker 三个基本概念
docker镜像:是一个只读的模板,可以用来创建容器。逻辑类似于编程中声明一个类,而容器相当于类实例化的对象
docker容器:是镜像创建的实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Li nux 环境。
docker仓库:是存放镜像文件的地方,可以是本地,也可以是远程服务器如dockerhub。仓库分为公开仓库(Publ i c)和私有仓库(Pr i vate)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。
2.与镜像相关命令
创建镜像需要创建dockerfile (需要了解如何dockerfile,在以后文章会详解)
docker build -t 镜像名称 . (注 “.” 是指dockerfile 文件所在的目录) 创建镜像
docker rmi [镜像名称|镜像ID] 删除镜像
docker image ls 查看本地镜像
docker history [镜像名称|镜像ID] 查看某镜像创建的历史
docker tag image[:tag] [registryhost/] image[:tag] :标记本地某一镜像,将其归于某一仓库,可以当做复制用
3.与容器相关命令
docker run -itd --name [容器名称] --net [网络名称] -p [映射的端口] --ip [ip地址] -v [映射宿主与容器的目录] [镜像名称|镜像ID] :创建容器
如docker run -itd --name redis-master --net mynetwork -p 6380:6379 --ip 192.168.1.2 -v /home/usr/php/www:/www redis
docker rm 【容器名称】 :删除容器
docker ps :查看本地所有的容器实例
docker stop 【容器名称】:停止容器
docker start 【容器名称】:启动容器
docker inspect 【容器名称|容器ID】:查看某个容器信息详情
docker exec -it [容器名称] sh/bash :进入某个容器
docker export -o [导出的tar文件名] [container名称] :导出容器(方法一)
docker export 容器id/name >文件名.tar : 导出容器(方法二)
docker import -c file|url registryhost[:tag] :将tar文件导入到容器中
其中-c 选项可以在导入的同时执行对容器进行修改的Dockerfile指令(网络等修改)
4.与网络相关
docker network create --subnet=(指定网段) 网络名称 :创建容器网络 如 docker network create --subnet=192.168.1.0/24 mynetwork
docker network rm [网络名称|网络ID] 删除docker网段名
docker network ls :查看本地创建的网络列表
docker inspect [网络名称|网络ID] :查看某个网络的详细信息
docker network --help 查看docker网络的更多相关命令
浙公网安备 33010602011771号