首页 > 其他分享 >docker

docker

时间:2023-09-07 19:14:36浏览次数:38  
标签:容器 使用 镜像 docker Docker 运行

0.常用命令

# 构建 Docker 镜像:
docker build -t your-image-name:tag .
# 运行容器:
docker run -d --name your-container-name -p host-port:container-port your-image-name:tag
# 查看容器运行状态:
docker ps 
# 使用以下命令查看所有容器的状态,包括运行中和已停止的:
docker ps -a
# 停止容器:
docker stop your-container-name
# 移除容器:
docker rm your-container-name
# 移除镜像:
docker rmi your-image-name:tag
# 拉取镜像
docker pull <image_name>
#查看容器端口
docker pa
docker port 容器id

1.什么是 Docker 容器?

Docker 容器 在应用程序层创建抽象并将应用程序及其所有依赖项打包在一起。这使我们能够快速可靠地部署应用程序。容器不需要我们安装不同的操作系统。相反,它们使用底层系统的 CPU 和内存来执行任务。这意味着任何容器化应用程序都可以在任何平台上运行,而不管底层操作系统如何。我们也可以将容器视为 Docker 镜像的运行时实例。

2.什么是 DockerFile?

Dockerfile 是一个文本文件,其中包含我们需要运行以构建 Docker 映像的所有命令。Docker 使用 Dockerfile 中的指令自动构建镜像。我们可以docker build用来创建按顺序执行多个命令行指令的自动构建。

3.如何从 Docker 镜像创建 Docker 容器?

为了从镜像创建容器,我们从 Docker 存储库中提取我们想要的镜像并创建一个容器。我们可以使用以下命令:

$ docker run -it -d <image_name>

4.Docker Compose 可以使用 JSON 代替 YAML 吗?

是的,我们可以对Docker Compose文件使用 JSON 文件而不是YAML

$ docker-compose -f docker-compose.json up

5.什么是Docker Swarm?

Docker Swarm 是一个容器编排工具,它允许我们跨不同主机管理多个容器。使用 Swarm,我们可以将多个 Docker 主机变成单个主机,以便于监控和管理。

5.1如果你想使用一个基础镜像并对其进行修改,你怎么做?

我们可以使用以下 Docker 命令将图像从 Docker Hub 拉到我们的本地系统上:

$ docker pull <image_name>

6.如何启动、停止和终止容器?

要启动 Docker 容器,请使用以下命令:

$ docker start <container_id>

要停止 Docker 容器,请使用以下命令:

$ docker stop <container_id>

要终止 Docker 容器,请使用以下命令:

$ docker kill <container_id>

7.Docker 运行在哪些平台上?

Docker 在以下 Linux 发行版上运行:

CentOS 6+
Gentoo
ArchLinux
CRUX 3.0+
openSUSE 12.3+
RHEL 6.5+
Fedora 19/20+
Ubuntu 12.04、13.04
Docker 还可以通过以下云服务在生产中使用:

微软Azure
谷歌计算引擎
亚马逊 AWS EC2
亚马逊 AWS ECS
机架空间
提示:我们始终建议您在面试之前进行一些公司研究,要为这个特定问题做准备,请了解公司如何使用 Docker 并在您的答案中包含他们使用的平台。

8.解释 Docker 组件。

三个架构组件包括 Docker 客户端、主机和注册表。

Docker 客户端:该组件执行构建和运行操作以与 Docker 主机通信。

Docker 主机:该组件包含 Docker 守护程序、Docker 镜像和 Docker 容器。守护进程建立到 Docker Registry 的连接。

Docker Registry:该组件存储 Docker 镜像。它可以是公共注册表,例如 Docker Hub 或 Docker Cloud,也可以是私有注册表。

9.虚拟化和容器化有什么区别?

虚拟化

虚拟化帮助我们在单个物理服务器上运行和托管多个操作系统。在虚拟化中,管理程序为客户操作系统提供了一个虚拟机。VM 形成了硬件层的抽象,因此主机上的每个 VM 都可以充当物理机。

容器化

容器化为我们提供了一个独立的环境来运行我们的应用程序。我们可以在单个服务器或 VM 上使用相同的操作系统部署多个应用程序。容器构成了应用层的抽象,所以每个容器代表一个不同的应用。

10.管理程序的功能是什么?

管理程序或虚拟机监视器是帮助我们创建和运行虚拟机的软件。它使我们能够使用单个主机来支持多个来宾虚拟机。它通过划分主机的系统资源并将它们分配给已安装的来宾环境来实现这一点。可以在单个主机操作系统上安装多个操作系统。有两种类型的管理程序:

Native:本机管理程序或裸机管理程序,直接在底层主机系统上运行。它使我们可以直接访问主机系统的硬件,并且不需要基本服务器操作系统。

托管:托管管理程序使用底层主机操作系统。

11.如何构建Dockerfile?

为了使用我们概述的规范创建映像,我们需要构建一个 Dockerfile。要构建 Dockerfile,我们可以使用以下docker build命令:

$ docker build

12.使用什么命令将新镜像推送到 Docker Registry?

要将新镜像推送到 Docker Registry,我们可以使用以下docker push命令:

$ docker push myorg/img

13.什么是Docker引擎?

Docker Engine 是一种开源容器化技术,我们可以使用它来构建和容器化我们的应用程序。Docker Engine 由以下组件支持:

Docker 引擎 REST API
Docker 命令行界面 (CLI)
Docker 守护进程

14.如何访问正在运行的容器?

要访问正在运行的容器,我们可以使用以下命令:

$ docker exec -it <container_id> bash

15.如何列出所有正在运行的容器?

要列出所有正在运行的容器,我们可以使用以下命令:

$ docker ps

16.描述 Docker 容器的生命周期。

Docker 容器经历以下阶段:

创建容器
运行容器
暂停容器(可选)
取消暂停容器(可选)
启动容器
停止容器
重启容器
杀死容器
销毁容器

17.什么是Docker对象标签?

Docker 对象标签是存储为字符串的键值对。它们使我们能够将元数据添加到 Docker 对象,例如容器、网络、本地守护进程、图像、Swarm 节点和服务。

17.1使用Docker Compose时如何保证容器1先于容器2运行?

Docker Compose 在继续下一个容器之前不会等待容器准备就绪。为了控制我们的执行顺序,我们可以使用“取决于”条件,depends_on。这是在 docker-compose.yml 文件中使用的示例:

version: "2.4"
services:
 backend:
   build: .
   depends_on:
     - db
 db:
   image: postgres

该docker-compose up命令将按照我们指定的依赖顺序启动和运行服务。

19.docker create命令有什么作用?

该docker create命令在指定映像上创建可写容器层,并准备该映像以运行指定命令。

标签:容器,使用,镜像,docker,Docker,运行
From: https://www.cnblogs.com/liyuanxiangls/p/17685830.html

相关文章

  • Rust项目使用Dockerfile构建镜像 访问crates.io下载速度慢解决
    在$CARGO_HOME/config文件添加国内的镜像源下面的镜像源来自:https://rsproxy.cn/FROMrust:1.72asbuilderWORKDIR/usr/srcCOPY..RUNecho"[source.crates-io]\n\replace-with='rsproxy-sparse'\n\[source.rsproxy]\n\registry=\"https://rs......
  • docker下的php7.3容器安装gd库
    我的docker版本,24.0.5 我的php版本,php7.3.33题外话,之前我们单独安装php-fpm服务的时候,需要装扩展,是直接在服务器上操作的,那么现在php在docker里面了,我们应该怎么来执行安装操作呢1、进入php容器dockerexec-it1e36f97ab14c/bin/bash//1e36f97ab14c为我的php容器的ID......
  • 离线安装docker docker-20.10.6
    离线安装dockerDocker是一个开源的应用容器引擎,它让开发者能够将应用打包在一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上。通过使用Docker,开发者可以创建、部署和运行应用程序,而无需担心基础设施的问题。然而,在一些特定的环境下,如限制访问互联网的内部网络或外......
  • 云原生之部署Docker轻量级管理面板EasyDockerWeb
    (云原生之部署Docker轻量级管理面板EasyDockerWeb)一、EasyDockerWeb介绍1.EasyDockerWeb简介EasyDockerWeb是一款轻量级、简单的Docker管理面板,是一个使用xterm.js,Node.js和Socket.io的简单DockerWebUi。2.环境要求Node.jsDockerremoteapi>=v1.24macOSorLinu......
  • 使用docker搭建以太坊私链
    准备工作1、宿主机安装Docker和Go编程语言。2、在本地计算机上克隆go-ethereum代码库gitclonehttp://github.com/ethereum/go-ethereum.git3、宿主机编译以太坊客户端makegeth该命令将在当前目录下的build/bin目录中生成可执行文件geth。4、创建一个新目......
  • Docker 启动alpine镜像中可执行程序文件遇到 not found
    问题:dockeralpine镜像中遇到sh:xxx:notfound例如:在容器内/app/目录下放置了可执行文件abc,启动时提示notfound/app/startup.sh:line5:./abc:notfound原因由于alpine镜像使用的是musllibc而不是gnulibc,/lib64/是不存在的。但他们是兼容的,可以创建个软连接过去......
  • Centos7安装Docker全过程记录(无坑版教程)
     一、安装前必读在安装Docker之前,先说一下配置,我这里是Centos7Linux内核:官方建议3.10以上,3.8以上貌似也可。注意:本文的命令使用的是root用户登录执行,不是root的话所有命令前面要加sudo1.查看当前的内核版本uname-r2.使用root权限更新yum包(生产环境中此步操作......
  • docker 中安装kafka
    docker中安装kafka docker中安装kafka在安装kafka之前需要先安装zookeeper,因为kafka启动会将元数据保存在zookeeper中,zookeeper是一种分布式协调服务,可以再分布式系统中共享配置,协调锁资源,提供命名服务。zookeeper安装1、在docker中拉取zookeeper镜像dockerpull......
  • Docker的基础安装
    卸载旧版本yumremovedockerdocker-clientdocker-client-latestdocker-commondocker-latestdocker-latest-logrotatedocker-logrotatedocker-engine安装GCCyum-yinstallgccyum-yinstallgcc-c++安装软件包yuminstall-yyum-utils设置镜像仓库官方设置y......
  • docker 修改存储目录
    有以下两种修改方式https://blog.csdn.net/weixin_45720992/article/details/131136505方法1.修改docker默认存储位置step1:docker默认存储路径在/var/lib/docker下[root@node01system]#dockerinfo|grep-idirDockerRootDir:/var/lib/dockerstep2:修改默认......