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
相关推荐
lolo大魔王5 小时前
Linux 数据文件处理实战:排序、搜索、压缩、归档一站式详解
linux·运维·服务器
llrraa20105 小时前
配置docker国内镜像源
运维·docker·容器
starvapour5 小时前
Ubuntu切换到Fcitx5中文输入法
linux·运维·ubuntu
xhbh6666 小时前
网关端口映射和路由器端口转发有什么区别?配置要点全解析
运维·服务器·网络·智能路由器·端口映射·映射·无痕网关
STDD6 小时前
Soulmask《灵魂面具》 专用服务器搭建教程
运维·服务器·github
lolo大魔王6 小时前
Linux的监测程序
linux·运维·github
半壶清水6 小时前
用P4 Tutorial、BMv2 和 Mininet‌解析网络第一集------模拟环境搭建
运维·服务器·网络·网络协议·tcp/ip
.YYY6 小时前
RHCE--Linux循环执行的例行性任务:crontab从入门到精通
linux·运维·服务器
木欣欣粉皮6 小时前
解决Ubuntu 26.04的挂起状态唤醒问题
linux·运维·ubuntu
华为云开发者联盟7 小时前
告别繁琐操作,华为云码道 + Docker重塑远程开发体验
人工智能·学习·docker·华为云·软件开发·华为云码道