一、Docker简介和架构
Docker 是一个开源得应用容器引擎,基于GO语言并遵从 Apache2.0 协议开源。
Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。
Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。
Docker 可以让开发者打包他们得应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化。
Dokcer架构:
Docker 包括三个基本概念:
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
二、常用命令:
1. 查看docker版本
docker version
或
docker -v
docker version 显示的内容 比 docker -v 更详细
eg:
[root@fastdfs ~]# docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:27:04 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:25:42 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
[root@fastdfs ~]#
2. docker 容器在后台运行如何进入到容器内部
使用docker exec -it my_container /bin/bash进入容器内部
docker exec -it my_container /bin/bash
效果如下图:
3. docker start/stop/restart 命令
docker start 容器1 容器2 ... 容器n : 启动一个多个已经被停止的容器
docker stop 容器1 容器2 ... 容器n : 停止一个或多个运行中的容器
docker restart 容器1 容器2 ... 容器n: 重启1个或多个容器
4. 删除容器
方式1:
docker rm 容器1 容器2 ... 容器n 删除1个多个已经停止的容器
方式2:
docker rm $(docker ps -a -q) 删除所有停止的容器
注意:使用docker rm 删除容器,必须 先 docker stop 停掉容器