doccker入门

这篇博客详细介绍了Docker的基础知识,包括Docker与虚拟机的区别,Docker的核心技术如namespace和cgroup。还深入探讨了Docker的常用命令,如镜像的搜索、下载和删除,容器的创建、管理以及如何进行端口映射。此外,文章还提到了如何使用Docker安装和管理nginx及tomcat,并引出了数据卷技术的重要性,最后推荐了Portainer作为Docker的图形化管理工具。
摘要由CSDN通过智能技术生成

docker介绍

docker 开源应用容器 不依赖任何语言,框架,包装系统

docker 的创新:doker镜像一次构建,到处运行

(软件打包发给别人,只要有doker都可以跑,跨平台(linux版本))

LXC linux container 内核虚拟化技术,轻量级虚拟化

LXC 通过kernel的namespace实现每个用户实例之间的相互隔离,通过cgrope实现对资源的配额和度量。

docker相当于鲸鱼,container容器就是集装箱

docker:码头工人

docker与虚拟机的区别

相同:都是虚拟化技术

不同之处:docker启动一台虚拟只需要1-2s,速度快

docker 核心

1, namespace 实现container的进程,网络,消息,文件系统和主机名的隔离

2.cgroup 的配额,可以指定 cpu 个数

常用命令

docker version 显示docker信息

docker info  显示dockers的系统信息

docker xxx –helo  帮助命令

帮助文档地址

镜像命令

#docker images 

REPOSITORY 镜像的仓库

TAG 镜像的标签

IMAGE ID 镜像的id

CREATED 镜像的创建时间

SIZE 镜像的大小

 

搜索

docker search 

 

--filter过滤

下载

docker pull 

  下载mysql

docker pull 名字【:版本】,如果不写版本,默认就是latest

 

等价于

docker pull mysql  =  docker pull docker.io/library/mysql:latest

 

指定版本下载

docker pull mysql:5.7

删除镜像

docker rm 

docker rmi –f  xxxx    rm 删除   I  image

docker rmi –f  id id id ….

容器命令

创建容器

说明:有了镜像才能创建容器

docker pull 命令

新建容器并启动

docker run 【】 image

参数说明

–name=”name”

-d 后台启动

-it 使用交互方式查询

-p 指定容器端口

​ -p ip:主机端口:容器端口

-p 主机端口:容器端口

​ -p 容器端口

-大P 随机指定端口

从容器退回主机

exit #容器停止并退出

Curl + p + Q 容器不停止退出

删除容器

docker rm id 删除指定容器

docker rm –f ¥(docker ps -aq)删除所有容器

列出所有运行的容器

docker ps

​ -a 列出当前运行的加上历史上运行的容器

​ -n=? 最近创建的几个容器

​ -q 只显示容器的编号

启动和停止容器

docker start 容器id 启动容器

docker restart 容器id 重启

docker stop 容器id 停止当前正在运行的容器

docker kill 容器id 强制停止当前容器

其他常用命令

后台启动容器

#命令 docker run -d 镜像名

docker run -d centos

##问题 发现centos停止了

[root@laojiang ~]# docker run -d centos
371385f8d7282dafacc5881f12610df36ce98b197d9a6bacfc708a2168e3d06c
[root@laojiang ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

#常见坑   :   docker rong'qi使用后台运行,就必须需要一个前台进程,docker发现没有应用了,就会自动停止

#nginx   容器启动后,发现没有提供服务,就会立即停止,就没有程序 了
查看日志
docker logs -ft --tail 容器     #发现没有日志

#自己编写一段shell脚本
"while true;do echo laojiang;sleep 3;done"

#[root@laojiang ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
fb2775fd2294   centos    "/bin/sh -c 'while t…"   5 seconds ago   Up 3 seconds             objective_bardeen
3f209e0efb9b   centos    "/bin/bash"              5 minutes ago   Up 5 minutes             strange_roentgen

#显示日志
-tf
--tail
#docker logs -tf --tail 10 fb2775fd2294   显示10行日志信息,并按脚本执行
#docker logs -tf  fb2775fd2294  显示所有日志信息
查看容器地址

进入容器

whereis 服务资质

whereis nginx

root@4ac85ee279f5:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx

查看容器中的进程信息
top 命令
docker top 

[root@laojiang ~]# docker top fb2775fd2294
UID                 PID                 PPID                C                   STIME               TTY                 TIME     
root                2656                2635                0                   09:57               ?                   00:00:00 
root                2863                2656                0                   10:03               ?                   00:00:00 
查看元数据
#docker inspect 容器id

[root@laojiang ~]# docker inspect [root@laojiang ~]# docker top fb2775fd2294
[
    {
   
        "Id": "fb2775fd2294678af57254633707d743f952ea737f821b32386923a02e1f8d6e",
        "Created": "2022-04-04T13:57:14.624004354Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "while true;do echo laojiang;sleep 3;done"
        ],
        "State": {
   
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 2656,
            "ExitCode"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值