如何设计网站站点,成都广告设计公司有哪些,杭州品格网站设计,自己做网站要学什么软件下载Docker 的定义
Docker 是一个开源的容器化平台#xff0c;它允许开发者将应用程序及其依赖项打包成一个可移植的容器。容器是一种轻量级、独立的运行环境#xff0c;与传统的虚拟机不同#xff0c;容器共享主机操作系统的内核#xff0c;通过隔离的文件系统、进程空间和网…Docker 的定义
Docker 是一个开源的容器化平台它允许开发者将应用程序及其依赖项打包成一个可移植的容器。容器是一种轻量级、独立的运行环境与传统的虚拟机不同容器共享主机操作系统的内核通过隔离的文件系统、进程空间和网络接口来运行应用程序。
例如你可以把一个 Web 应用包括 Web 服务器、应用代码、数据库连接库等打包到一个 Docker 容器中。这个容器可以在任何安装了 Docker 的主机上运行而不用担心环境差异导致应用无法正常运行。
Docker 的核心组件
镜像Image
镜像是 Docker 容器的基础它是一个只读的模板包含了运行一个容器所需的文件系统、代码、运行时环境、库等所有内容。就像一个光盘里面有安装软件所需的所有文件。例如有一个官方的 Ubuntu 镜像它包含了完整的 Ubuntu 操作系统文件系统和基础软件包。 镜像可以通过继承和分层来构建。比如你可以在一个基础的 Python 镜像上添加自己的应用代码层构建出一个包含特定 Python 应用的镜像。
容器Container
容器是镜像的运行实例。可以把容器想象成从光盘镜像中安装并启动的一个软件。它是一个独立的运行环境有自己的进程空间、文件系统和网络接口。例如你可以同时运行多个基于相同镜像的容器每个容器都有自己独立的运行状态就像同时运行多个相同软件的副本它们之间互不干扰。
仓库Repository
仓库是用来存储和分发 Docker 镜像的地方类似于代码仓库。Docker Hub 是最著名的公共仓库它包含了大量由官方和社区用户创建的镜像。例如你可以在 Docker Hub 上找到各种操作系统镜像、数据库镜像如 MySQL、PostgreSQL、编程语言运行时环境镜像如 Python、Java等。
相比虚拟机容器的启动速度更快占用的资源更少。容器共享主机操作系统的内核不需要像虚拟机那样为每个实例运行一个完整的操作系统。例如你可以在一台主机上运行成百上千个容器而如果是虚拟机资源消耗会大得多运行的数量也会受到限制。
安装 Docker
在大多数 Linux 发行版上可以通过包管理器来安装 Docker。
Ubuntu 和 Debian 系统
首先更新软件包列表
sudo apt-get update
安装 Docker 相关的包包括docker.io这是 Ubuntu 和 Debian 上 Docker 的软件包名称
sudo apt-get install docker.io
启动 Docker 服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
CentOS 和 RHEL 系统
安装所需的依赖包
sudo yum install -y yum - utils device - mapper - persistent - data lvm2
设置 Docker 仓库
sudo yum - config - manager -- add - repo https://download.docker.com/linux/centos/docker - ce.repo
安装 Docker CE社区版
sudo yum install docker - ce docker - ce - cli containerd.io
启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
基本的 Docker 操作命令代码示例
拉取镜像
从 Docker Hub公共仓库拉取一个 Ubuntu 镜像命令如下
sudo docker pull ubuntu
这会从 Docker Hub 下载最新的 Ubuntu 镜像到本地。你可以指定镜像的标签来拉取特定版本例如sudo docker pull ubuntu:18.04来拉取 Ubuntu 18.04 版本的镜像。
查看本地镜像
使用以下命令来查看已经下载到本地的镜像
sudo docker images
这个命令会列出本地镜像的仓库名、标签、镜像 ID、创建时间和大小等信息。
运行容器
基于刚才拉取的 Ubuntu 镜像运行一个容器例如
sudo docker run -it ubuntu /bin/bash
这里-it参数表示以交互模式-i和伪终端-t运行容器ubuntu是镜像名称/bin/bash是在容器启动后要执行的命令这个命令会在容器中打开一个 bash 终端你可以在里面进行操作就像在一个独立的 Ubuntu 系统中一样。
容器内操作示例
假设你已经在容器中通过上面的run命令进入可以进行一些基本的操作。例如更新软件包列表并安装一个软件在 Ubuntu 容器中
apt-get update
apt-get install -y curl
这里curl是一个示例软件你可以根据需要安装其他软件。安装完成后可以测试curl是否可以正常使用例如
curl https://www.example.com
退出容器
在容器的终端中输入exit即可退出容器。
查看正在运行的容器
使用以下命令查看当前正在运行的容器
sudo docker ps
这个命令会列出正在运行的容器的 ID、名称、使用的镜像、创建时间、状态等信息。如果要查看包括已经停止的容器可以使用docker ps -a。
停止容器
如果你想停止一个正在运行的容器首先通过docker ps获取容器的 ID 或名称然后使用以下命令停止
sudo docker stop [容器ID或名称]
删除容器
在容器停止后可以使用以下命令删除容器
sudo docker rm [容器ID或名称]
构建自定义镜像使用 Dockerfile
假设你有一个简单的 Python 应用首先创建一个Dockerfile这是一个文本文件没有扩展名名称必须是Dockerfile内容如下
# 基于Python官方镜像
FROM python:3.9
# 设置工作目录
WORKDIR /app
# 将当前目录下的所有文件复制到容器的/app目录下
COPY. /app
# 安装应用所需的依赖假设使用requirements.txt
RUN pip install -r requirements.txt
# 定义容器启动时要执行的命令
CMD [python, app.py]
这个Dockerfile假设你的 Python 应用代码在当前目录下并且有一个requirements.txt文件列出了应用所需的依赖。在Dockerfile所在的目录下执行以下命令来构建镜像
sudo docker build -t my - python - app:v1.
这里-t参数用于指定镜像的标签名称和版本my - python - app:v1是一个示例标签你可以根据自己的需要修改。构建完成后可以通过docker images查看新构建的镜像然后按照前面的方法运行这个自定义镜像的容器。