学做室内效果图的网站,wordpress图片目录下,建筑工程网络图实例,北京宣传部新京报一、Docker产生的意义 1‘解决环境配置难题#xff1a;在软件开发中最大的麻烦事之一#xff0c;就是环境配置。为了跑我们的程序需要装各种插件#xff0c;操作系统差异、不同的版本插件都可能对程序产生影响。于是只能说#xff1a;程序在我电脑上跑是正常的。 2’解决资…一、Docker产生的意义 1‘解决环境配置难题在软件开发中最大的麻烦事之一就是环境配置。为了跑我们的程序需要装各种插件操作系统差异、不同的版本插件都可能对程序产生影响。于是只能说程序在我电脑上跑是正常的。 2’解决资源占用过多启动慢的问题 环境移植 虚拟机virtual machine也能实现但虚拟机运行的是完整的操作系统占用资源多、冗余步骤多、启动慢。Linux 容器Linux Container,LXC不是模拟一个完整的操作系统而是对进程进行隔离。由于容器是进程级别的相比虚拟机有很多优势。 启动快、资源占用少、体积小。 Docker 属于 Linux 容器的一种封装提供简单易用的容器使用接口。 Docker的构想是要实现“Build,Ship and Run Any App,Anywhere即通过对应用的封装Packaging、分发(Distribution)、部署Deployment)、运行Runtime生命周期进行管理、达到应用组件“一次封装到处运 行”的目的。这里的应用组件既可以是一个Web应用、一个编译环境也可以是一套数据库平台服务甚至是一个操作系统或集群。 二、什么是Docker镜像、Docker容器、Docker仓库 Docker镜像: Docker 把应用程序及其依赖打包在 image 文件里面。 Docker容器:类似于一个轻量级的沙箱、Docker利用容器来运行和隔离应用。 Docker仓库存放镜像的地方。最大的公开仓库的官方的Docker Hub常用pul命令来拉取/提交镜像。 我们可以做一个通俗的类比把Docker比作常用的VMware Workstation。而容器就比做运行在VMware上的一个虚拟机而image就是我们常装操作系统时用的镜像docker仓库就是下载镜像的地方。 三我们该如何简单的使用docker。 1‘ 可以根据下官网的教程熟悉下docker的基本指令。 Containerize an application | Docker Docs 常用命令:
拉取镜像: docker pull IMGNAME:TAG显示镜像: docker images显示运行的容器: docker ps 显示所有的容器,包括没有运行的: docker ps -a删除镜像: docker rmi IMAGEID删除容器 docker rm CONTAINERID进入容器: docker attach CONTAINERID 或 docker exec -it CONTAINERID /bin/bash 启动容器名: docker start CONTAINERID停止容器: docker stop CONTAINERID退出容器: exit复制容器内容docker cp 52883072419a:/usr/share/nginx/html/front ./ 2’ 把Dockerfile可以理解成在原镜像的基础上运行了一些命令可能安装了一些新的程序。原镜像的来源和新命令都写在了Dockerfile的文件里面build一下就是一个新的镜像。 DockerFile分为四部分组成基础镜像信、维护者信息、镜像操作指令和容器启动时执行指令。例如 在Dockerfile同级目录下运行: docker build -t NEWIMGNAME . 3‘docker-compose.yml就是对container运行时的一些配置。比如端口映射、cpu、内存配置等。 在docker-compose.yml同级目录下运行: docker-compose -f docker-compose.yml up -d 四、常见问题
1、image里面是什么应用开发人员改代码后一定需要重启容器 有些pull到的镜像名称叫hello-worldredis等它并不是一个操作系统那是因为电脑并不是在操作系统下才能运行。可以理解成镜像是打包Bootloader之后的内容它可能只是开机后自动运行一个redisover。 对于这种没有包含操作系统的image该容器思维单一做完一件事就完了。所以对于这种image常见为python编写编写代码之后就必须要重启container。但若container里面运行了操作系统linuxwindows等改基于系统内的php代码就不需要重启container.