docker 基础命令

docker 安装

Docker的基本组成

镜像(image):

docker镜像好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像===>run==>tomcat容器(提供服务器)

容器(container):

docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建

仓库(repository):

存放镜像的地方。

 

安装docker

  1. 准备环境 -linux环境

    image-20221112203836813

  2. 安装

    yum install docker

     

  3. 重启docker服务

    systemctl restart docker

     

  4. 查看doceker版本 下载hello-world镜像

    docker version
    docker run hello-world
  5. 查看下载的这个hello-world镜像

    docker images

    image-20221112203811693

  6. 卸载

    yum remove docker
    rm -rf /var/lib/docker

阿里云镜像加速

https://blog.csdn.net/wohaqiyi/article/details/89335932

底层原理

docker是怎么工作的?

docker是一个cs 架构的系统,docker的守护进程运行在主机上。通过socket从客户端访问。

docker运行为什么比kvm块

  1. docker有着比虚拟机更少的抽象层

  2. docker利用的是宿主机的cpu,vm需要是guest os

image-20221112210337162

所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载guest os分钟级别。而docker是利用宿主机的操作系统直接启动服务,秒级。

docker 的常用命令

  • docker version # 显示版本信息

  • docker info #显示详细系统信息,包括容器和镜像的数量

  • docker 命令 --help #帮助命令

帮助文档的地址:https://docs.docker.com/reference/

镜像命令

docker images 查看所有主机上的镜像

docker search 搜索镜像

docker pull 下载镜像

docker rmi 删除镜像 #docker rmi -f $(docker images -aq)

容器命令

下载一个centos镜像来测试

 docker pull centos

新建容器并启动

docker run  [可选参数]  image

#参数说明
--name==“NAME” 容器名字
-d 后台运行
-it 使用交互方式运行 进入容器查看
-p   指定容器的端口  -p 8080:8080

查看运行中的容器

docker ps -a
-a #列出当前正在运行的容器和带出历史运行过的容器
-n=? #显示最近新创建的多少个容器
-q  #只显示容器的编号

退出容器

exit #停止容器直接退出
ctrl + p + q #容器不停止退出

删除容器

docker rm 容器id
docker rm -f $(docker ps -qa)
docker ps -qa |xargs docker rm

启动和停止容器的操作

docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id

常用的其他命令

后台启动

docker run -d 容器 # 后台启动
#问题发现容器停止了

#常见的坑 docker 容器使用后台运行,就必须有一个前台进程,docker发现没有应用,就会自动停止。

查看日志

docker log -tf --tail 10  容器id
#自己写一段脚本
docker run -d centos /bin/sh -c "while ture;do echo shenme;sleep 1;done"
# 显示日志
-tf             #显示日志 时间
--tail number  #要显示日志条数

查看容器内进程信息

docker top 容器id

查看镜像的元数据

docker inspect 容器id

进入当前正在运行的容器

docker  exec  -it  容器id   /bash/bash #进入新的终端  
docker attach 容器id  #正在执行当前的终端

从容器内拷贝数据到主机上

docker cp 容器id:/home/test.java /home

 

作业练习

docker 安装nginx

# 1.搜索
# 2.下载
# 3.运行测试
# 4.进入容器

docker安装tomcat

# 1.搜索
# 2.下载
# 3.运行测试
# 4.进入容器
 

 

posted @ 2022-11-12 22:54  韩松霁  阅读(62)  评论(0编辑  收藏  举报