本文共 1999 字,大约阅读时间需要 6 分钟。
Docker 是一款开源的容器引擎,由 Go 语言开发。它允许开发者将应用及其依赖打包到镜像中,并在任何支持 Docker 的 Linux 版本上运行。Docker 易于迁移,适合快速交付和部署。自 2013 年起,Docker 的发展迅猛,其版本以年月时间线发布,目前稳定版本为 17.09。
传统虚拟机技术通过虚拟硬件运行 Guest OS,需要 Hypervisor 和 Guest OS。而 Docker_dict* 容器直接在宿主机上运行,省去了虚拟化层。优点显著:启动快,资源利用率高,内核级虚拟化。
镜像:静态模板,包含镜像操作系统及应用及其环境。容器:镜像实例化后的运行实例,可进行操作,每个容器隔离。仓库:存放镜像的场所,包括公开仓库(如 Docker Hub)和私有仓库。
安装 Docker:
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repoyum install -y docker-cesystemctl start docker
镜像管理:
docker pull centosdocker imagesdocker search xxxdocker tag centos lvdocker run -itd centosdocker psdocker rmi centos
创建镜像:
docker run centos bashyum install -y net-toolsdocker commit -m "change something" -a "lv" 2c74d574293f centos_with_nettool
使用模板:
cat centos-6-x86-minimal.tar.gz |docker import - centos6docker imagesdocker save -o centos6.tar centos6docker load
容器管理:
docker create -it centos bashdocker start container_iddocker run -d centos bash -c "while :; do echo '123'; sleep 2; done"docker run --name web -itd centos bashdocker run --rm -it centos bash -c "sleep 30"docker logs container_iddocker attach container_iddocker exec -it container_id bashdocker rm container_iddocker export container_id > file.tarcat file.tar |docker import - testdocker ps -a | awk '{print $1}' | xargs docker stopdocker ps -a | awk '{print $1}' | xargs docker rmdocker create -it centos6 bashdocker start iddocker push 192.168.56.132:5000/centos6systemctl restart dockerdocker ps -a | awk '{print $1}' | xargs docker rmdocker start iddocker ps -a | awk '{print $1}' | xargs docker stopcurl 127.0.0.1:5000/v2/_catalog
仓库管理:
docker pull registrydocker run -d -p 5000:5000 registrycurl 127.0.0.1:5000/v2/_catalogdocker tag centos 192.168.56.132:5000/centos6docker push 192.168.56.132:5000/centos6vi /etc/docker/daemon.jsonsystemctl restart dockerdocker start idcurl 127.0.0.1:5000/v2/_catalog
Docker 适合_CTL环境配置、快速 MySQL/Redis 集群部署等,大大简化部署复杂度。
转载地址:http://dowfk.baihongyu.com/