0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用 Docker容器化技术

科技绿洲 来源:了不起 作者:了不起 2023-09-30 11:24 次阅读

对于开发人员来说,Docker肯定都不陌生,今天小编带大家重新学习一下Docker。

什么是 Docker

官话:

Docker 是一种开源的容器化平台,它可以帮助开发者将应用程序与其所依赖的环境一起打包,形成一个独立的、可移植的容器。这些容器可以在任何支持 Docker 的平台上运行,无论是开发环境、测试环境,还是生产环境,都能保持一致的运行结果。Docker 的高度可移植性和轻量级特性使得软件开发和部署变得更加简单和高效。

简单理解:

Docker是一个容器,可以让我很方便的安装软件、部署项目,而不用为环境的不同发愁。

安装 Docker

在开始使用 Docker 之前,首先需要在您的计算机上安装 Docker。Docker 提供了适用于不同操作系统的安装程序,您可以根据自己的系统选择合适的安装方式。

强烈建议安装在linux环境下,操作简单、不容易出错;Windows环境下安装之后,Docker相关服务至少占用2G内存,建议32G内存的电脑考虑在Windows安装。

以Debian系统示例

卸载旧版本

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

安装Docker

设置存储库

  1. 更新软件包索引并安装软件包以允许使用 基于 HTTPS 的存储库
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
  1. 添加 Docker 的官方 GPG 密钥:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
  1. 使用以下命令设置存储库:
echo 
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian 
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | 
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker 引擎

  1. 更新包索引:apt
sudo apt-get update
  1. 安装 Docker Engine、containerd 和 Docker Compose。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 通过运行映像验证 Docker 引擎安装是否成功:hello-world
sudo docker run hello-world

您现在已成功安装并启动 Docker 引擎。

操作步骤详情请参照官方文档:https://docs.docker.com/engine/install/debian/

使用Docker

这里以安装nginx为例

1. 拉取镜像

在使用 Docker 前,通常需要先从 Docker Hub(Docker 的公共镜像仓库)或者其他私有镜像仓库中拉取所需的镜像。可以使用 docker pull 命令来拉取镜像,例如:

docker pull nginx:latest

上述命令会从 Docker Hub 拉取最新版的 Nginx 镜像。

2. 运行容器

拉取镜像后,就可以使用 docker run 命令来创建并运行容器,例如:

docker run -d -p 8080:80 nginx:latest

上述命令会以后台模式运行一个基于 Nginx 镜像的容器,并将容器的 80 端口映射到主机的 8080 端口。

3. 查看容器

使用 docker ps 命令可以查看当前正在运行的容器:

docker ps

使用 docker ps -a 命令可以查看包括已停止的容器在内的所有容器。

4. 停止和删除容器

使用 docker stop 命令停止一个运行中的容器,例如:

docker stop < CONTAINER_ID >

使用 docker rm 命令删除一个已停止的容器,例如:

docker rm < CONTAINER_ID >

5. 进入容器

有时候需要进入容器的 shell 环境进行调试或者执行命令。可以使用 docker exec 命令进入一个正在运行的容器,例如:

docker exec -it < CONTAINER_ID > /bin/bash

上述命令会在容器内启动一个交互式的 Bash shell。

文件挂载

在运行 Nginx 容器时,将 Nginx 的配置文件挂载到容器中,可以实现动态修改配置的功能。

  1. 首先,在您的主机上创建一个目录,并将 Nginx 配置文件放入该目录。例如,假设您有一个自定义的 Nginx 配置文件 nginx.conf,您可以将其放在 /path/to/nginx_config 目录下。
  2. 使用 Docker 运行 Nginx 容器时,通过添加 -v--volume 参数来进行配置文件挂载:
docker run -d -p 8080:80 -v /path/to/nginx_config:/etc/nginx/nginx.conf:ro nginx:latest

上述命令会将主机中的 /path/to/nginx_config/nginx.conf 文件挂载到容器内的 /etc/nginx/nginx.conf 文件。这样,容器内的 Nginx 将使用您自定义的配置文件而不是默认的配置。

"ro" 表示将挂载的目录或文件设置为只读模式(Read-Only)。挂载为只读模式意味着容器内部对挂载的目录或文件只有读取权限,不能进行写入、修改或删除操作。

使用 "ro" 参数的好处是可以增加对容器内数据的安全性。如果您担心容器内的应用程序会无意间修改或删除重要的配置文件,可以使用 "ro" 参数确保这些配置文件不会被意外更改。

如果您希望容器内的应用程序具有对挂载目录的读写权限,可以省略 "ro" 参数或使用 "rw"(Read-Write)参数来挂载。

小结

Docker 是一个功能强大的容器化平台,可以帮助开发者简化应用程序的开发、测试和部署过程。

希望本篇文章能让你学会如何使用 Docker容器化技术,提高软件交付的效率和可靠性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    12

    文章

    3859

    浏览量

    84667
  • 软件
    +关注

    关注

    67

    文章

    4350

    浏览量

    85625
  • 开源
    +关注

    关注

    3

    文章

    2989

    浏览量

    41720
  • Docker
    +关注

    关注

    0

    文章

    437

    浏览量

    11603
  • docker容器
    +关注

    关注

    0

    文章

    28

    浏览量

    3288
收藏 人收藏

    评论

    相关推荐

    如何在Docker中创建容器

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal
    发表于 01-03 15:58

    容器改造解决方案

    Docker---大型项目容器改造
    发表于 09-09 17:11

    理解Docker容器并畅玩docker

    !命令行!玩docker,简单几句命令就够了。Docker容器响应迅速,执行迅速,回忆一下VM启动要多久?最佳的试验场所,想怎么玩怎么玩,rm -rf /* 根本不是大问题。主机上删掉容器
    发表于 11-05 09:54

    请问docker容器如何查看日志?

    docker容器如何查看日志
    发表于 11-19 07:29

    Docker容器管理命令(一)

    1、Docker容器管理命令的使用方法查看当前主机本地docker镜像:启动容器必须依赖镜像,所以要获取到镜像的唯一标识docker
    发表于 04-20 17:55

    Docker容器管理命令(二)

    1、Docker容器管理命令的使用方法批量删除docker 容器docker cp命令docker
    发表于 04-21 11:31

    基于docker的时差法流量监测装置web测试系统设计

    针对时差法流量监测装置实现远程数据实时显示、参数设置等功能的web远程管理控制系统,基于使用沙箱机制的docker容器引擎技术,结合跨平台、测试多版本浏览器的selenium自动化框架研究,开发一套
    发表于 02-24 15:48 0次下载
    基于<b class='flag-5'>docker</b>的时差法流量监测装置web测试系统设计

    学习 Docker 容器的 8 个命令分享

    利用这 8 个命令可以学习 Docker 容器的基本管理方式。这是一个为 Docker 初学者准备的,带有示范命令输出的指南。
    发表于 06-22 12:03 1246次阅读
    学习 <b class='flag-5'>Docker</b> <b class='flag-5'>容器</b>的 8 个命令分享

    台湾VR/AR产业联盟主席高焕堂:VR/AR可以欺骗大脑,AI可以赋能大脑!

    Colorado州大学信息管理研究所、台湾淡江大学管理科学研究所。专精于Android终端平台、AI、Docker容器、VR技术等。
    的头像 发表于 11-25 12:02 5022次阅读

    一文带你读懂Docker容器 1

    Docker** 是一个开源软件,用于开发应用、交付应用、运行应用。 Docker允许用户将基础设施中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。
    的头像 发表于 02-03 15:33 490次阅读
    一文带你读懂<b class='flag-5'>Docker</b><b class='flag-5'>容器</b> 1

    docker容器删除后数据还在吗

    Docker作为一个容器化平台,提供了轻量级的虚拟化解决方案,能够方便地创建、部署和管理应用程序。然而,对于Docker容器的数据持久性是一个令人关注的问题。当我们删除一个
    的头像 发表于 11-23 09:32 674次阅读

    docker容器容器之间通信

    Docker是一种轻量级容器技术,能够将应用程序及其依赖项封装在一个独立、可移植的容器中。而容器化的应用程序通常是以分布式方式设计的,因此
    的头像 发表于 11-23 09:36 548次阅读

    docker进入容器的方法有哪些

    Docker是一种流行的容器化平台,它能够快速构建、交付和运行应用程序。在使用Docker时,我们经常需要进入容器进行调试、管理和运行命令等操作。本文将详细介绍
    的头像 发表于 11-23 09:45 3433次阅读

    docker容器有几种状态

    Docker 是一种流行的容器化平台,它能够帮助开发人员将应用程序和其依赖打包成一个独立的容器,并且能够在不同的环境中进行部署和运行。在 Docker 中,
    的头像 发表于 11-23 09:50 831次阅读

    ARM平台实现Docker容器技术

    什么是Docker? (1)Docker的架构 Docker是一个开源的应用容器引擎,让开发者可打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windo
    的头像 发表于 03-07 13:48 194次阅读
    ARM平台实现<b class='flag-5'>Docker</b><b class='flag-5'>容器</b><b class='flag-5'>技术</b>