Docker(1)

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
性能测试 PTS,5000VUM额度
简介: Docker定义 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

目录

Docker简介

Docker定义

Docker和虚拟机技术的不同:

Docker组成

Docker命令


Docker简介

Docker定义


     Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 LinuxWindows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。


Docker和虚拟机技术的不同:


传统虚拟机虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件。

容器内的应用直接运行在宿主机的内核,容器是没有自己的内核。


Docker组成


镜像(image)


Docker镜像(Image)就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。


容器(container)


Docker利用容器(Container)独立运行一个或一组应用。容器是使用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台,容器是一个简易版的Linux环境和运行在其中的应用程序。


仓库(Repository)


仓库(Repository)是集中存放镜像文件的场所。仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是Docker Hubhttps://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等。


Docker命令


Docker安装使用的宝塔面板


docker默认工作路径/var/lib/docker

//启动docker
systemctl start docker
//查看docker版本
docker version 
//运行docker
docker run hello-world
//查看镜像
docker images

镜像命令

docker images
//镜像的仓库源,镜像的标签,镜像的id,镜像的创建时间,镜像的大小
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   14 months ago   13.3kB
docker images
-a --all#列出所有镜像
-q --quiet #只显示镜像的id
--help #命令帮助
docker search #搜索镜像
docker pull #下载镜像
docker rmi #镜像删除
-f #删除所有的 $(条件)

容器命令

docker run -d --name nginx1 -p 3344:80 nginx
    -d #后台运行
    --name #名字
    -it #交互模式
    -p #宿主机端口:容器内部端口
docker run -it 容器id/名字 /bin/bash #进入容器
    -d 后台启动
docker exec -it 容器id /bin/bash #进入正在运行的容器
docker exec -it 容器id/name bash #进入正在运行的容器
docker attach  容器id
exit #退出容器
docker ps #查看运行的容器
    -a #查看曾经运行的容器
    Ctrl +P +Q #容器不停止退出
docker rm 容器id #删除容器
  docker rm -f $(docker ps -aq)#删除所有的容器
docker start/restart/stop/kill 容器ID #启动重启停止
docker inspect 容器id #查看容器信息

日志和进程

查看最近日志


docker logs -f 容器名/容器ID


查看某时间之后的100条日志


docker logs -f -t  --tail  100 容器ID


最近30分钟的日志


docker logs


查看某时间之后的日志


docker logs -t  --since="2022-08-08T18:08:08" 容器ID


查看某时间段日志


docker logs  -t  --since="2022-08-08T18:08:08" --until "2022-08-08T20:08:08" 容器ID

docker top 容器id #查看容器内部进程


文件copy


从docker容器拷贝出来 /xxx代表容器内的路径  /xxx代表容器外的路径


docker cp 容器ID: /xxx  /xxx


拷贝文件到容器内 /xxx容器外的路径 /xxx容器内的路径


sudo docker cp /xxx 容器ID:/xxx


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
监控 Linux 持续交付
认识Docker
认识Docker
25 0
|
1月前
|
存储 运维 持续交付
|
1月前
|
Linux Go 开发者
Docker(一):认识Docker
Docker(一):认识Docker
|
1月前
|
应用服务中间件 nginx Docker
Docker的世界
Docker的世界
22 0
|
9月前
|
关系型数据库 MySQL Docker
|
8月前
|
Linux 应用服务中间件 虚拟化
初识Docker
初识Docker
|
9月前
|
Docker 容器
|
11月前
|
Docker 容器
Docker 初识
Docker 初识
47 0
|
Linux Docker Python
JupyterNotebook-Docker版
制作jupyter notebook的docker镜像,兼容numpy, pandas, matplotlib, pyspark, opencv-python, requests, flask等组件。
387 0