|
a.定义:Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源 b.意义:Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 c.版本:Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了 d.作用: 1)提供一次性的环境:比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境 2)提供弹性的云服务:因为 Docker 容器可以随开随关,很适合动态扩容和缩容 3)组建微服务架构:通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构
2.安装Docker(Win7) 注:若已安装Git,则不用再选择Git组件安装。 b.双击 Docker QuickStart 图标来启动 Docker Toolbox 终端 注:若Docker未检测到Git安装目录,则需要选择 Git 的 bin 目录下的 bash.exe 文件。 c.若出现 boot2docker.iso 一直无法下载的情况 2)将下好的 boot2docker.iso 复制到 C:\Users\Administrator\.docker\machine\cache 下 3)双击 Docker QuickStart 启动 Docker Toolbox 终端
d.执行命令 docker version 验证是否安装成功 #查看Docker版本$ docker version
3.Docker 容器使用 a.image定义:image 文件可以看作是容器的模板。Docker 把应用程序及其依赖,打包在 image 文件里面,并根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。
c.基本指令: 1)列出本地主机上的镜像 # 列出本机的所有 image 文件。$ docker image ls$ docker images
·REPOSITORY:表示镜像的仓库源 ·TAG:镜像的标签,代表这个仓库源的不同个版本 ·IMAGE ID:镜像ID ·CREATED:镜像创建时间 ·SIZE:镜像大小
2)删除本地主机上的镜像 # 删除 image 文件$ docker image rm ubuntu:20.04$ docker rmi ubuntu:20.04
3)下载镜像到本地 #拉取 image 文件到本地$ docker pull ubuntu:20.04
4)根据镜像启动容器 #根据 image 启动容器$ docker run -it ubuntu:20.04 /bin/bash
·-i: 交互式操作 ·-t: 终端 ·ubuntu:20.04:这是指用 ubuntu 20.04 版本镜像为基础来启动容器 ·/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
5)查看所有的容器 #查看正在运行的容器$ docker ps#查看所有容器,包括未运行的$ docker ps -a
·CONTAINER ID: 容器 ID。 ·IMAGE: 使用的镜像。 ·COMMAND: 启动容器时运行的命令。 ·CREATED: 容器的创建时间。 ·STATUS: 容器状态。 ·状态有7种: created(已创建) restarting(重启中) running(运行中) removing(迁移中) paused(暂停) exited(停止) dead(死亡) ·PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。 ·NAMES: 自动分配的容器名称。
6)启动一个已停止的容器 #启动一个已停止的容器$ docker start f69dbd3c27c4
7)停止一个容器 #停止一个容器$ docker stop f69dbd3c27c4
8)重启一个容器 #重启一个容器$ docker restart f69dbd3c27c4
9)后台启动运行一个 #后台启动运行一个容器$ docker run -itd --name ubuntu-test ubuntu:20.04 /bin/bash
10)进入容器 #进入容器(如果从这个容器退出,会导致容器的停止)$ docker attach 1e560fca3906 #进入容器(如果从这个容器退出,不会导致容器的停止)(推荐)$ docker exec -it 243c32535da7 /bin/bash
11)删除容器 #删除容器$ docker rm -f 1e560fca3906
12)导出容器 #导出容器$ docker export a8bf89afcbb6 > ./ubuntu.tar
13)导入容器快照(导成镜像 image) #导入容器快照$ cat ./ubuntu.tar | docker import - test/ubuntu:v1#导入容器快照("./ubuntu.tar"可为路径,也可为url)$ docker import ./ubuntu.tar test/ubuntu:v1
14)更新镜像(提交容器副本成镜像 image) #提交容器副本成镜像$ docker commit -m="this is content for commiting" -a="this is author" d66cef6d68bf runoob/ubuntu:v2
·-m:提交的描述信息 ·-a:指定镜像作者 ·d66cef6d68bf:容器 ID ·runoob/ubuntu:v2:指定要创建的目标镜像名
|