Docker入门指南

Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker容器的部署(一)

下面是一个简单的 Docker 容器部署指南:

1. 安装 Docker

在大多数操作系统中,你可以通过以下命令安装 Docker:

# 对于Ubuntu/Debian
sudo apt-get update
sudo apt-get install docker.io

# 对于CentOS
sudo yum install docker

# 启动 Docker
sudo systemctl start docker

# 设置 Docker 开机自启
sudo systemctl enable docker

2. Docker 镜像

Docker 镜像是容器运行的基础。你可以从 Docker Hub(一个容器镜像仓库)下载预构建的镜像,也可以自己构建。

# 下载一个 Ubuntu 镜像
sudo docker pull ubuntu

# 查看本地所有镜像
sudo docker images

3. 运行容器

使用 docker run 命令来启动一个容器。

# 运行一个 Ubuntu 容器,并进入交互模式
sudo docker run -it ubuntu /bin/bash

这里的 -it 参数是让容器运行在交互模式,ubuntu 是镜像名,/bin/bash 是在容器内执行的命令。

4. 容器管理

你可以使用多种命令来管理你的容器。

# 列出所有正在运行的容器
sudo docker ps

# 列出所有容器(包括停止的)
sudo docker ps -a

# 停止一个正在运行的容器
sudo docker stop [容器ID或名字]

# 删除一个容器
sudo docker rm [容器ID或名字]

5. 部署应用

假设你有一个 web 应用,你可以创建一个 Dockerfile 来构建应用的 Docker 镜像。

# 使用官方 Python 运行时作为父镜像
FROM python:3.7-slim

# 将工作目录设置为 /app
WORKDIR /app

# 将当前目录内容复制到位于 /app 的容器中
COPY . /app

# 安装 requirements.txt 中指定的任何所需包
RUN pip install --trusted-host pypi.python.org -r requirements.txt

# 使端口 80 可供此容器外的环境使用
EXPOSE 80

# 定义环境变量
ENV NAME World

# 在容器启动时运行 app.py
CMD ["python", "app.py"]

然后你可以构建并运行这个镜像:

# 构建镜像
sudo docker build -t my-python-app .

# 运行镜像
sudo docker run -p 4000:80 my-python-app

这样,你的应用就在 Docker 容器中运行了,并且可以通过主机的 4000 端口访问。

Docker镜像的使用(二)

Docker 镜像是一个轻量级、独立的可执行软件包,它包含了运行应用程序所需的所有代码、运行库、环境变量和配置文件。在 Docker 的世界里,镜像就像是容器的基础模板,容器是从镜像创建的运行实例。

下面是关于 Docker 镜像使用的一些基本指南:

1. 查找和拉取镜像

Docker 镜像通常存储在 Docker Hub(一个公共的镜像仓库)中。你可以使用 docker search 命令来查找你需要的镜像。

# 搜索 Ubuntu 镜像
docker search ubuntu

使用 docker pull 命令来下载你想要的镜像。

# 下载 Ubuntu 官方镜像
docker pull ubuntu

2. 查看本地镜像

使用 docker images 命令来查看你本地已经下载的镜像。

docker images

3. 运行镜像

使用 docker run 命令来从镜像创建一个容器并运行。

# 运行一个 Ubuntu 容器,并执行 echo 命令
docker run ubuntu echo 'Hello, Docker!'

4. 创建自己的镜像

你可以通过两种方式创建自己的 Docker 镜像:使用 docker commit 命令从运行中的容器创建,或者使用 Dockerfile

使用 docker commit

# 先运行一个容器
docker run -it ubuntu /bin/bash

# 在容器中进行一些修改,比如安装软件
# ...

# 提交更改到新的镜像
docker commit [容器ID] my-ubuntu

使用 Dockerfile

创建一个 Dockerfile 文件,然后使用 docker build 命令构建镜像。

# 使用官方 Python 运行时作为父镜像
FROM python:3.7-slim

# 安装 Redis 库
RUN pip install redis

# 将当前目录内容复制到位于 /app 的容器中
COPY . /app

# 暴露端口
EXPOSE 80

# 运行 app.py
CMD ["python", "app.py"]
# 构建镜像
docker build -t my-python-app .

5. 镜像标签

你可以给镜像打上标签以便于管理。

# 给镜像打上标签
docker tag my-python-app my-python-app:1.0

6. 推送镜像到 Docker Hub

如果你想分享你的镜像,可以将它推送到 Docker Hub。

# 登录到 Docker Hub
docker login

# 将镜像推送到 Docker Hub
docker push my-python-app

7. 删除镜像

使用 docker rmi 命令来删除不再需要的镜像。

# 删除名为 my-python-app 的镜像
docker rmi my-python-app

8. 镜像历史

你可以查看镜像的构建历史。

docker history my-python-app

这些是 Docker 镜像使用的一些基本操作。熟练掌握这些命令和技巧,可以帮助你有效地管理和使用 Docker 镜像。


Docker入门指南
https://www.opyu.cn/archives/Rb12TUAX
作者
发布于
2024年05月10日
许可协议