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
相关推荐
feng_blog66881 小时前
【docker-1】快速入门docker
java·docker·eureka
贾贾20231 小时前
配电自动化系统“三区四层”数字化架构
运维·科技·架构·自动化·能源·制造·智能硬件
远方 hi3 小时前
linux如何修改密码,要在CentOS 7系统中修改密码
linux·运维·服务器
元气满满的热码式3 小时前
K8S中Service详解(一)
云原生·容器·kubernetes
资讯分享周4 小时前
过年远控家里电脑打游戏,哪款远控软件最好用?
运维·服务器·电脑
chaodaibing4 小时前
记录一次k8s起不来的排查过程
运维·服务器·k8s
mcupro5 小时前
提供一种刷新X410内部EMMC存储器的方法
linux·运维·服务器
不知 不知6 小时前
最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机
linux·运维·服务器·centos
BUG 4046 小时前
Linux--运维
linux·运维·服务器
MXsoft6186 小时前
华为E9000刀箱服务器监控指标解读
大数据·运维