docker 基本常用命令

dockr 对于测试人员的意义
1、解决环境不一致性
2、容器部署的对象是镜像,镜像中不仅包含代码版本,还包含了系统运行所需的基础环境,使用同样的镜像版本进行测试,不会存在环境不一致的情况,容器消除了环境差异,降低了环境类bug
3、环境隔离
4、不同任务运行在不同容器中,相互之间不影响
docker是什么
Docker 是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎, 源代码托管在 GitHub 上, 基于Go语言并遵从Apache2.0协议开源。
Docker是通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率。

namespace命名空间
Mount Namespace - 用于隔离文件系统的挂载点
UTS Namespace - 用于隔离 HostName 和 DomianName
IPC Namespace - 用于隔离进程间通信
PID Namespace - 用于隔离进程
cgroups资源限制
控制组(cgroups)是 Linux 内核的一个特性,主要用来对共享资源进行隔离、限制、审计等。只有

能控制分配到容器的资源,才能避免当多个容器同时运行时的对系统资源的竞争。

控制组技术最早是由 Google 的程序员在 2006 年提出,Linux 内核自 2.6.24 开始支持。

控制组可以提供对容器的内存、CPU、磁盘 IO 等资源的限制和审计管理。

dockers 的三个重要概念

Image(镜像):
那么镜像到底是什么呢?Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
Container(容器)
容器(Container)的定义和镜像(Image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。
Repository(仓库)
镜像仓库是 Docker 用来集中存放镜像文件的地方,类似于我们之前常用的代码仓库。
通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本 。
我们可以通过<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 Latest 作为默认标签。

docker 的组成部分
docker是传统的CS架构分为docker client和docker server
Docker 客户端是 Docker 用户与 Docker 交互的主要方式。当您使用 Docker 命令行运行命令时,Docker 客户端将这些命令发送给服务器端,服务端将执行这些命令。
Docker 命令使用 Docker API 。Docker 客户端可以与多个服务端进行通信。

组件:镜像,容器,仓库,网路,存储
镜像:把系统文件打包

dockers 命令
导入镜像
[root@zhp ~]#
[root@zhp ~]# docker load -i lemonban.tar

拉取镜像
[root@zhp ~]# docker pull centos:7

查看镜像
[root@zhp ~]# docker images

运行镜像
[root@zhp ~]# docker run --name=lemonban -d -p 3306:3306 -p 8089:8080 lemonban:0.1

公式:docker run -it -d --name 要取得别名 断口的别名:端口号 -p 镜像的版本
也可
[root@zhp ~]# docker run -d -p 9999:8080 lemonban:0.1

停止容器
[root@zhp ~]# docker stop ee6ca9d41785

启动容器
docker start 容器ID
[root@zhp ~]# docker kill 96b12c827477

查看当前正在运行的容器
docker ps

查看正在运行以及停止运行的容器

docker ps -a
docker ps -q
docker ps -aq
查看容器的详细信息
docker inspect 容器ID

docker exec会分配一个新的终端tty

进入已经运行的容器

docker exec -it 容器ID /bin/bash

启动并进入容器,启动一个终端,pid为1

docker run -it centos:7 /bin/bash

docker attach会使用同一个终端
docker attach 容器ID

查看容器日志
[root@zhp ~]# docker log -f --tail 1 b1abf6d2d603

posted on 2022-08-06 17:38  酷gril  阅读(61)  评论(0编辑  收藏  举报