docker系统笔记-02容器快速上手

本文详细介绍Docker的基础概念,包括镜像与容器的区别,常用命令如查看版本、环境信息及容器的创建、停止、删除等操作。同时介绍了容器的运行模式及如何通过Dockerfile创建镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用命令

  1. docker version (查看版本)
  2. docker info (查看环境信息)
  3. docker (查看docker所有命令)
    其余命令由docker + 管理的对象(比如容器,镜像) + 具体操作(比如创建,启动,停止,删除)组成
    在这里插入图片描述
    例:
  • docker image pull nginx 拉取一个叫nginx的docker image镜像

  • docker container stop web 停止一个叫web的docker container容器

镜像以及容器的介绍

  1. image镜像
    • Docker image是一个 read-only 文件
    • 这个文件包含文件系统,源码,库文件,依赖,工具等一些运行application所需要的文件
    • 可以理解成一个模板
    • docker image具有分层的概念
  2. container容器
    • “一个运行中的docker image”
    • 实质是复制image并在image最上层加上一层 read-write 的层 (称之为 container layer ,容器层)
    • 基于同一个image可以创建多个container

在这里插入图片描述
3. docker image的获取
- 自己制作
- 从registry拉取(docker hub)

容器的基本操作

操作命令(全)命令(简)
容器的创建docker container run < name>docker run < name>
容器的列出(up)docker container lsdocker ps
容器的列出(up和exit)docker container ls -adocker ps -a
容器的停止docker container stop < name or ID>docker stop < container name or ID>
容器的删除docker container rm < name or ID>docker rm
批量停止docker container stop cd3 269 34b 751docker container stop $(docker container ps -aq)
批量删除docker container rm cd3 269 34b 751docker container rm $(docker container ps -aq)

Container Mode 容器运行的各种模式

docker两种模式

  • attached(前台模式):ctrl+c后有可能会被取消掉(Linux会alinux不会其他的没测试)
  • detached(后台模式):ctrl+c后不会被取消需要手动取消

后台模式通过 -d来启动: docker container run -d -p 8080:80 nginx
此时可以通过 docker attached <name/id>来切换到前台模式 但是会被ctrl+c取消掉
所以可以通过docker container log <容器id>查看入职 加-f跟踪日志

连接容器的 shell

docker container run -it 创建一个容器并进入交互式模式
在正常开启的服务比如 docker container run -d -p 8080:8080 nginx
docker container exec -it 在一个已经运行的容器里执行一个额外的command

容器和虚拟机 Container vs VM

在这里插入图片描述

  • 容器其实是进程Containers are just processes
  • 容器中的进程被限制了对CPU内存等资源的访问
  • 当进程停止后,容器就退出了
    docker container top 57f :查看运行的进程

docker container run 背后发生了什么?

docker container run -d --publish 80:80 --name webhost nginx
  • 在本地查找是否有nginx这个image镜像,但是没有发现
  • 去远程的image registry查找nginx镜像(默认的registry是Docker Hub)
  • 下载最新版本的nginx镜像 (nginx:latest 默认)
  • 基于nginx镜像来创建一个新的容器,并且准备运行
  • docker engine分配给这个容器一个虚拟IP地址
  • 在宿主机上打开80端口并把容器的80端口转发到宿主机上
  • 启动容器,运行指定的命令(这里是一个shell脚本去启动nginx)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值