docker 容器

docker

docker架构

镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。

容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停。

仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。类似与maven

默认情况下,将来从docker hub(https://hub.docker.com/)

上下载docker镜像,太慢。一般都会配置镜像加速器:

配置镜像加速器

  • 需要您自己找找吧,现在强的厉害,我就不贡献啦。

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxx"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker 容器

查看容器

查看正在运行的容器

复制代码
docker ps
  • CONTAINER ID 容器的 ID
  • IMAGE 创建容器时所使用的镜像
  • COMMAND 运行容器中的软件执行的命令
  • CREATED 容器的创建时间
  • STATUS 容器的状态: UP 表示运行状态 Exited 表示关闭状态
  • PORTS 宿主机端口和容器中软件的端口的对应关系
  • NAMES 容器的名称

查看所有的容器(包含了正在运行的容器以及之前启动过的容器)

复制代码
docker ps --a

查看最后一次运行的容器

复制代码
docker ps --l

查看停止的容器

复制代码
docker ps -f status=exited

创建与启动容器

创建容器参数介绍

创建容器的时候我们需要使用如下命令进行容器的创建

复制代码
docker run
  • -i 运行容器

  • -t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

  • -d 在 run 后面加上-d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)

  • --name 为创建的容器命名

  • -v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上

  • -p表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射

-d 和-t. --d 表示让容器在后台运行起来, -t 表示创建好容器以后我们就指定进行到容器中,进入到容器中以后我们
就可以输入命令和容器进行交互. 既然如此,那么也就是说容器我们可以分为两类: 1. 交互式容器 2. 守护式容器

创建交互式容器

创建一个交互式容器并取名为 mydashab

复制代码
docker run -it --name=mydashab tomcat /bin/bash

使用 exit 推出容器

容器也关闭了,这就是交互式容器的特点: 当我们推出容器以后,容器就关闭了

Unable to find image 'tomcat:latest' locally

如果你执行这条命令出现 Unable to find image 'tomcat:latest' locally,是没有对应的镜像image ,需要pull对应的镜像

创建守护式容器

创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):

复制代码
docker run -di --name=mydashab2 tomcat

我们创建好容器以后,这个容器是以后台的方式运行的,那么我们需要操作容器就需要登录到容器中,可以使用如下命令进行登录

复制代码
docker exec -it 容器名称 (容器id) /bin/bash

退出容器,然后在查看容器的状态,容器还是运行的

停止与启动容器

关闭容器

复制代码
docker stop 容器名称或者容器id

启动已经关闭的容器

复制代码
docker start 容器名称或者容器id
相关推荐
bosins1 小时前
彻底解决 WSL 2.7+ 空闲自动关闭/内存回收导致 Docker 中断的问题
linux·docker·wsl·dashboard
我要见SA姐13 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
orangapple3 小时前
在docker里启动 orthancteam/orthanc
docker
Elastic 中国社区官方博客4 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
fengkai45455 小时前
八、Docker详解4-5
运维·docker
智恒百亿5 小时前
RTX 5090 八卡服务器 vs RTX PRO 6000 整机:AI 推理、微调与渲染选型部署指南
运维·服务器·rtx5090
蓝胖的四次元口袋7 小时前
Docker Compose多容器编排与Nginx集群实战
运维·nginx·docker compose
懂软件的胡子个哥8 小时前
微信 API 消息回调怎么设计,才能避免丢消息和重复处理
运维·微信·架构·wechatapi·个人微信号二次开发
吉甫作诵8 小时前
Redis 常用命令大全:11 大类命令速查手册
运维·数据库·redis·缓存·nosql
Acrellea10 小时前
告别粗放式能耗管理!安科瑞EIOT平台助力产业园区智慧低碳运营
运维·安全·能源