如何将Docker镜像和容器更新到最新版本(分步指南)
介绍正在运行的容器中的 Docker 镜像不会自动更新。使用镜像创建容器后,它会继续运行该版本,即使在新版本发布之后也是如此。
建议从最新的 Docker 镜像运行容器,除非你有使用旧版本的特定原因。
如何将Docker镜像和容器更新到最新版本?在本教程中,你将学习如何将 Docker 镜像和容器更新到最新版本。
先决条件
- 访问命令行/终端窗口
- 具有sudo 权限的用户帐户
- 现有的 Docker 安装
- 一个现有的 Docker 容器和 Docker 镜像
注意:本教程以运行 MySQL Docker 容器为例来说明如何将 Docker 镜像和容器更新到最新版本。
步骤 1:检查当前版本
通过使用以下命令列出系统上的图像来验证你有一个过时的图像:
sudo docker images
输出显示下载的图像及其标签(版本号)。在下面的示例中,系统显示它正在使用mysql映像版本5.7.31。DockerHub 上列出的Docker 官方 MySQL 映像显示最新版本(在撰写本文时)为8.0.21。
文章图片
因此,如果你在该映像上运行了一个容器,最好对其进行更新。
注意:要仅列出可能已过时的特定图像,请使用docker images | grep [docker_image]命令缩小搜索范围。
第 2 步:拉取最新镜像
使用以下
docker pull
命令下载较新版本的映像:sudo docker pull [
docker_image]
默认情况下,Docker 会拉取最新版本。为确保这样做,你可以添加
:latest
标签。例如,要拉取最新的 mysql 映像,你可以运行:
sudo docker pull mysql/mysql-server:latest
第 3 步:启动一个新的更新容器
如何将Docker镜像和容器更新到最新版本?下载最新的 Docker 镜像后,你需要停止并删除旧容器。然后,用最新的图像创建一个新的。
1. 通过列出系统上的容器,找到带有过期镜像的正在运行的容器的名称:
sudo docker ps
在此示例中,输出显示使用mysql/mysql-server:5.7.31映像的容器。
文章图片
2. 停止并删除现有容器,以便你可以启动一个同名的新容器:
sudo docker stop [
container_id]
sudo docker rm [
container_id]
替换
[container_id]
为容器的 ID 号。3.
docker run
使用更新后的 Docker 镜像,使用命令和所需的配置重新创建容器:sudo docker run --name=[
container_name] [
options] [
docker_image]
如果有,请确保挂载分配给以前使用的容器的 Docker 卷,以确保更新的容器具有相同的内容。为此,请使用
-v
后跟卷目录路径的选项。例如,要运行更新 MySQL 容器,你将运行:
sudo docker run --name=mysql --restart=always -e MYSQL_ROOT_PASSWORD=mypassword -v /path/to/directory:/var/lib/mysql -d mysql
4.你可以通过列出容器来检查你的容器是否已使用最新的 Docker 镜像更新:
sudo docker ps
文章图片
结论【如何将Docker镜像和容器更新到最新版本(分步指南)】Docker镜像和容器如何更新到最新版本?有了这个,你应该已经使用最新版本的 Docker 镜像成功更新了你的 Docker 容器。
想要了解有关管理容器的更多信息?阅读有关管理 Docker 容器的最佳实践的所有信息。
推荐阅读
- 如何在Ubuntu 20.04上安装和使用ClickHouse(分步指南)
- 如何在Linux上使用TensorFlow后端安装Keras(分步指南)
- 如何重启Kubernetes Pod(使用3种方法实现)
- 如何在Ubuntu上安装Rancher(详细分步指南)
- 怎么将word文档分享给QQ好友
- 如何打印手机上excel文件
- Spring|Spring 源码(4)在Spring配置文件中自定义标签如何实现()
- 面对裁员潮,程序员如何安身立命
- 如何在Ubuntu 20.04上安装和使用Docker(分步指南)
- Docker特权模式(你应该运行特权Docker容器吗())