Linux容器——Docker(一)之 基本使用
1.Docker概念
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)
a.访问 http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 下载最新版 DockerToolbox,并安装
注:若已安装Git,则不用再选择Git组件安装。
b.双击 Docker QuickStart 图标来启动 Docker Toolbox 终端
注:若Docker未检测到Git安装目录,则需要选择 Git 的 bin 目录下的 bash.exe 文件。
c.若出现 boot2docker.iso 一直无法下载的情况
1)访问 https://github.com/boot2docker/boot2docker/releases/ 手动下载最新版的 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 文件,可以生成多个同时运行的容器实例。
b.查找镜像:访问 https://hub.docker.com/ 查找可用镜像
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:指定要创建的目标镜像名
4.参考文档:
https://www.runoob.com/docker/windows-docker-install.html
http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html