Docker的基本组成
镜像(image)
Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些运行时准备的配置参数(如匿名卷、环境变量、用户等)。通过镜像可以创建多个容器(服务或者是项目程序就是在容器中运行)。
容器(container)
容器时镜像的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器理解为建议的Linux系统,在其中可以运行应用程序。
镜像自身是只读的。容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。可写层的操作也可以进行commit,使其保存为新的镜像。
仓库(repository)
仓库是存放镜像的地方。Docker Hub(https://hub.docker.com)是Docker为公众提供的托管Registry,上面有很多现成的image。
Docker的常用命令
1.帮助命令
docker version #显示docker的版本信息
docker info #显示docker的系统信息,包括镜像和容器的数量
docker "命令" --help #帮助命令,可以查看命令的参数及含义
2.镜像命令
docker images #查看本机上的镜像
docker search #搜索镜像
docker pull #下载镜像 例:dokcer pull tomcat:8
docker rmi #删除镜像 例:docker rmi -f "镜像id"
3.容器命令
docker run #新建容器并启动 例:docker run -d "镜像id"
docker ps #列出所有正在运行的容器
docker rm #删除容器 例:docker rm "容器id"
docker start #启动容器
docker restart #重启容器
docker stop #停止当前正在运行的容器
docker kill #强制停止当前正在运行的容器
exit #容器直接退出(在容器中时使用)
ctrl + P + Q #容器不停止直接退出(在容器中时使用)
4.其它常用命令
查看日志
docker logs
例:docker logs -t --tail n "容器id" #查看n行日志
docker logs -ft “容器id” #查看实时输出日志
查看容器中进程信息
docker top "容器id"
查看镜像的元数据
docker inspect "容器id"
进入当前正在运行的容器
docker exec -it "容器id" /bin/bash #进入当前容器后开启一个新的终端,可以在里面操作(常用)
docker attach "容器id" #进入容器正在执行的终端
从容器内拷贝到宿主机上
docker cp "容器id" : "容器内路径" "宿主机路径"
例:docker cp 55321bcae33d:/java.jar /data
从宿主机拷贝到容器内
docker cp "宿主机路径" "容器id" : "容器内路径"
例:docker cp /data/java.jar 55321bcae33d:/home
commit镜像
docker commit #提交容器成为一个新的镜像
例:docker commit -m="描述信息" -a="作者" "容器id" "生成镜像名字":"版本标记"
Docker可视化(Portainer)
#运行如下命令打开可视化服务
docker run -d -p 8080:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true
portainer/portainer