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中制作自己的JDK+tomcat镜像

    当需要在多台机器上部署一个Java Web应用时,传统的方式是在每一台机器上手动安装JDK和Tomcat,这个过程非常耗时耗力。而使用Docker技术,可以将Java Web应用、JDK和Tomcat打包成镜像,再在不同的机器上运行镜像,减轻了管理和部署的负担。 本篇文章将讲解如何在Docker环境中制作自己的JDK+Tomcat镜像。具体分为以下两个示例:…

    Docker 2023年5月15日
    00
  • 详解给Ocelot做一个Docker镜像

    我将详细讲解一下怎么给Ocelot做一个Docker镜像,以及两个示例说明。 什么是Docker? Docker 是一个开源的应用容器引擎,可以让用户将应用程序和所有依赖项打包到一个可移植的容器中,从而实现跨平台部署。 Docker 相关概念 镜像(Image):Docker 镜像是一个只读的模板,它可以用来创建容器实例。 容器(Container):Doc…

    Docker 2023年5月15日
    00
  • Docker之设置加速器

    1. 创建一个Docker的配置文件。 sudo vim /etc/docker/daemon.json 2. 编写配置文件。 { “registry-mirrors”: [ “此处写镜像源地址” ] } Docker镜像源地址: 官方国内镜像 https://registry.docker-cn.com 网易 http://hub-mirror.c.163…

    Docker 2023年4月13日
    00
  • 制作符合自己需求的镜像 docker image

    常用命令 镜像列表   docker images malijun@MaLiJun-Ubuntu:~/workdir/dockerpro/bitmexpro$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE bitmex 0.0.1 2fa73485f763 3 weeks ago 958MB bitme…

    Docker 2023年4月11日
    00
  • Docker 踩坑记(failed to build: Get https://registry-1.docker.io/v2/microsoft/dotnet/manifests/2.1-sdk: unauthorized: incorrect username or password)

    今天看了下.net core 示例项目eShopWebOnline。 无奈在使用docker的时候总是提示一下错误信息,大致信息是用户名密码错误。但是,明明桌面右下角Docker帐号处于登录状态。 ERROR: Service ‘eshopwebrazor’ failed to build: Get https://registry-1.docker.io/…

    Docker 2023年4月11日
    00
  • Docker中如何安装宝塔

    这篇文章主要介绍“Docker中如何安装宝塔”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker中如何安装宝塔”文章能帮助大家解决问题。 1、docker拉取ubuntu系统 docker pull ubuntu 2、运行容器 docker run -i -t -d –name bt -p 2000:20 -…

    2023年4月9日
    00
  • Docker到底是什么,要解决什么问题,好处又在哪里?

    软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来?用户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。举例来说,安装一个 Python 应用,计算机必须有 Python 引擎,还必须有各种依赖,可能还要配置环境变量。如果某些老旧的模块与当前环境不兼容,那就麻烦了。开发…

    Docker 2023年4月13日
    00
  • Cert Manager 申请 SSL 证书流程及相关概念 – 一

    2022.3.9 用 cert-manager 申请成功通配符证书 (*.ewhisper.cn), 2022.4.30 该证书距离过期还有 30 天,cert-manager 进行自动续期,但是却失败了。??? 然后过了几天,在 2022.5.8, 最终成功了。如下图: 正好借着这个情况捋一下 cert-manager 的 SSL 证书申请流程以及过程中涉…

    2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部