Docker基础和常用命令详解

Docker基础和常用命令详解

Docker是什么?

Docker是一种虚拟化技术,它支持将应用程序及其依赖项封装到一个可移植的容器中,以便能够在任何地方运行。这使得在不同系统上运行应用程序变得简单易行。

Docker的基本概念

镜像(image)

Docker镜像是Docker运行容器的基础。镜像由一系列的只读层构成,每一层代表一个Dockerfile指令的执行结果。

容器(container)

Docker容器是一个可运行的Docker镜像实例,它包含了应用程序和其依赖项。容器是独立、可执行的轻量级Docker应用程序。

仓库(repository)

Docker仓库是容纳Docker镜像的地方,可以想象为代码仓库一样。Docker Hub是最大的Docker公共仓库,用户可以在上面上传和下载Docker镜像。

Docker常用命令

安装Docker

可以参考官方文档安装Docker:https://docs.docker.com/install/

基本命令

  • docker version:查看Docker版本信息。
  • docker images:查看所有本地Docker镜像。
  • docker searchname:搜索Docker Hub上可用的镜像。
  • docker pullimage_name:tag:下载镜像,可以指定tag(版本号)。
  • docker runimage_name:启动一个Docker容器。
  • docker ps:查看正在运行的容器。
  • docker stopcontainer_id:停止运行中的容器。
  • docker rmcontainer_id:删除指定的Docker容器。
  • docker rmiimage_name:删除指定的Docker镜像。

示例说明

1. 下载并启动一个容器

我们以官方的nginx镜像为例,做以下操作:
1. 下载nginx镜像
2. 启动一个nginx容器(映射端口到本地,方便访问)
3. 查看容器是否启动
4. 在浏览器中输入http://localhost:8080查看是否连接成功

docker pull nginx
docker run -d -p 8080:80 nginx
docker ps

2. 构建自己的镜像

创建一个简单的Node.js应用程序,并将其封装到一个Docker镜像中:
1. 创建Node.js应用程序
2. 编写Dockerfile,构建Docker镜像
3. 运行Docker镜像,启动应用程序

Node.js应用程序代码:

const http = require("http");
const port = 8080;

const requestHandler = (request, response) => {
  console.log(request.url);
  response.end("Hello Node.js Server!");
};

const server = http.createServer(requestHandler);

server.listen(port, (err) => {
  if (err) {
    return console.log("something bad happened", err);
  }

  console.log(`server is listening on ${port}`);
});

Dockerfile内容:

FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD ["npm", "start"]

构建镜像并启动:

docker build -t my-node-app .
docker run -p 8080:8080 my-node-app

总结

以上仅简单介绍了 Docker 的基础概念和常用命令,但 Docker 可以做的远不止如此。对于需要依赖配置复杂的应用程序来说,使用 Docker 可以大大简化打包和部署的流程,并提供了更好的可移植性和隔离性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker基础和常用命令详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • docker-compose 网络配置

    networks: default: #局域网络名称 driver: bridge #指定网络驱动 DRIVER 在同一个局域网中的容器可以通过容器名进行访问; 加入已经存在的网络,先创建一个myapp的网络,让后创建的容器加入已经存在的网络,使其可以通信 # 创建网络 docker network creat <Network Name> #查…

    Docker 2023年4月12日
    00
  • 搭建Docker私有仓库的详细教程

    搭建Docker私有仓库需要以下步骤: 1. 准备工作 首先需要有一台服务器或者虚拟机,可以选择任何一种Linux操作系统,这里以Ubuntu为例。然后安装Docker,安装Docker的方法可以参考官方文档。 2. 创建Docker私有仓库 在安装成功Docker之后,可以使用以下命令创建Docker私有仓库: docker run -d -p 5000:…

    Docker 2023年5月16日
    00
  • Docker容器镜像加载及底层基本原理深入解析

    Docker容器镜像加载及底层基本原理深入解析 Docker是目前最流行的容器化技术之一,使用Docker可以方便地构建、发布和管理应用程序。Docker容器镜像是Docker应用程序运行的基础,本文将深入探讨Docker容器镜像的加载过程及其底层基本原理。 Docker容器镜像加载流程 Docker容器镜像的加载过程可以分为以下几个步骤: 拉取镜像文件 在…

    Docker 2023年5月15日
    00
  • Ubuntu系统利用docker容器发布简单的应用

    我的电脑装的是ubuntu系统,所以以ubuntu为例来写 由于后边涉及到程序的可移植性验证,我们先在docker hub上注册一个账号(注册地址),记住用户名! (全文直接附命令,由于我没有配置docker获得root权限,所以涉及到的docker操作命令前都要加sudo,觉得不方便的话可以再百度找找怎么办) 首先看你的ubuntu系统是否支持Docker…

    Docker 2023年4月12日
    00
  • docker 容器网络模式详解

    关于“docker 容器网络模式详解”的攻略,我们可以从以下几个方面进行讲解: 一、什么是Docker容器网络模式? Docker容器网络模式就是用来控制容器内部不同容器的联网方式,包括容器与容器间的通信,容器与外界的通信以及网络端口的映射等内容。 在Docker中,默认的容器网络模式是桥接模式,每个容器分配了一个IP地址,并且可以通过容器名进行通信。 二、…

    Docker 2023年5月16日
    00
  • docker引发的内核惨案

    (1)报错:unregister_netdevice: waiting for vethfa4b4ee to become free. Usage count = 1 踩了个内核的坑 docker 1.9.1 kernel   3.10.327(redhat7) 先记录下,还没有找到哪个内核版本修复了这个问题,知道的朋友也可以留个言。   https://b…

    Docker 2023年4月12日
    00
  • Dockerfile及新型容器镜像构建技术详解

    1. Dockerfile及新型容器镜像构建技术详解 1.1 什么是Dockerfile Dockerfile是一个文本文件,可以被Docker所识别和处理。它包含了一系列的指令和参数,用于构建一个自定义的Docker镜像。使用Dockerfile可以实现自动化构建、部署和运行的流程。 1.2 Dockerfile主要指令详解 FROM: 基础镜像,用于构建…

    Docker 2023年5月16日
    00
  • Docker 网络模式(四种)详细介绍

    Docker 网络模式(四种)详细介绍 Docker 容器的网络模式分为四种,分别是: Host 模式 Bridge 模式 Container 模式 None 模式 Host 模式 在 Host 模式中,Docker 容器使用主机的网络命名空间和 IP 地址。这意味着容器和主机共享同一个网络环境,容器可以通过主机的网络接口来访问外部网络。它适用于需要快速启动…

    Docker 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部