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
相关推荐
Bruce-li__1 小时前
创建私人阿里云docker镜像仓库
阿里云·docker·云计算
碣石潇湘无限路1 小时前
【云原生】Kubernetes CEL 速查表
容器·贪心算法·kubernetes
阳区欠2 小时前
【Linux】进程通信
linux·运维·服务器·共享内存·进程通信·system v·管道文件
may_一一3 小时前
终端SSH连接工具SecureCRT安装和连接Linux
运维·服务器·ssh
姓刘的哦3 小时前
Ubuntu环境安装
linux·运维·ubuntu
mingyuewu3 小时前
MAC安装docker 后提示com.docker.vmnetd”将对您的电脑造成伤害
macos·docker·容器
小小寂寞的城4 小时前
Ubuntu里安装Jenkins
ubuntu·ci/cd·docker·jenkins
春生黎至10054 小时前
GZ073网络系统管理赛项赛题第1套模块A:网络构建解题笔记
运维·网络
IT程序媛-桃子4 小时前
【网安面经合集】42 道高频 Web 安全面试题全解析(附原理+防御+思路)
运维·网络·安全·面试
❀͜͡傀儡师4 小时前
多台服务器上docker部署 Redis 集群
运维·服务器·redis