简单谈谈Docker镜像的使用方法

下面我就来详细讲解“简单谈谈Docker镜像的使用方法”的完整攻略。

什么是Docker镜像

Docker 镜像是一个轻量级、独立、可执行的软件包,用于打包代码、运行时环境、系统工具和依赖库等所有运行一个应用所需的内容。

Docker镜像的使用方法

1. 获取镜像

获取 Docker 镜像有两种方式,一种是从 Docker 镜像仓库拉取,一种是从本地导入。以拉取官方镜像 nginx 为例:

docker pull nginx

2. 运行容器

镜像获取后,需要基于镜像创建并运行 Docker 容器。以基于 nginx 镜像创建并运行容器为例:

docker run -d -p 8080:80 --name mynginx nginx

其中 -d 表示后台运行,-p 表示映射容器端口 80 到本地端口 8080--name 表示容器名称为 mynginx,最后 nginx 表示该容器基于的镜像。

3. 查看容器运行状况

可以通过 docker ps 命令查看容器的运行状况:

docker ps -a

其中 -a 表示列出所有容器,包括正在运行的和已经停止的容器。

4. 进入容器内部

在容器内部执行命令可以使用 docker exec 命令。以进入 mynginx 容器内部为例:

docker exec -it mynginx bash

其中 -it 表示使用交互式方式进入容器内部,bash 表示进入容器后的默认命令。

5. 退出容器内部

在容器内部执行完命令后,可以通过 exit 命令退出容器内部。

6. 删除容器

当不再需要某个容器时,可以使用 docker rm 命令删除该容器。以删除 mynginx 容器为例:

docker rm mynginx

7. 导出和导入镜像

可以通过 docker save 命令将镜像导出到本地文件,以及通过 docker load 命令将本地镜像文件导入到 Docker 中。以导出和导入 nginx 镜像为例:

docker save nginx -o nginx.tar
docker load -i nginx.tar

其中 nginx 表示要导出或导入的镜像名称,-o 表示导出到指定文件,-i 表示从指定文件导入。

示例一:使用Docker运行Spring Boot项目

1. 获取镜像

以拉取官方镜像 openjdk 为例:

docker pull openjdk

2. 构建Spring Boot项目

在本地使用 Maven 构建 Spring Boot 项目。

3. 构建Docker镜像

在项目根目录下创建 Dockerfile 文件。

FROM openjdk:latest
VOLUME /tmp
COPY target/xxx.jar xxx.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/xxx.jar"]

其中 FROM 指定了基础镜像为 openjdk,VOLUME 指定了一个挂载点 /tmpCOPY 将编译后的 xxx.jar 文件复制到容器中,EXPOSE 指定了容器对外开放的端口号,ENTRYPOINT 指定了容器启动时执行的命令。

使用 docker build 命令构建镜像:

docker build -t xxx .

其中 -t 指定了镜像的名称为 xxx,最后的 . 表示当前目录,即 Dockerfile 所在目录。

4. 运行容器

使用 docker run 命令启动容器:

docker run -d --name xxx -p 8080:8080 xxx

其中 -d 表示在后台运行容器,--name 指定容器名称为 xxx,-p 将容器的 8080 端口映射到主机的 8080 端口上。

5. 访问项目

在浏览器输入 http://localhost:8080 访问项目。

示例二:使用Docker运行MySQL数据库

1. 获取镜像

以拉取官方镜像 mysql 为例:

docker pull mysql

2. 运行容器

使用 docker run 命令启动容器:

docker run --name mymysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql

其中 --name 指定容器名称为 mymysql,-v 指定本地挂载目录为 /my/own/datadir-e 指定 MySQL root 用户密码为 root,-d 表示在后台运行容器。

3. 进入容器内部

使用 docker exec 命令进入容器内部:

docker exec -it mymysql bash

4. 登录MySQL数据库

在容器内部登录 MySQL 数据库:

mysql -u root -p

输入密码 root 后即可进入 MySQL 数据库。

5. 退出容器内部

在容器内部执行 exit 命令即可退出容器内部。

6. 注意事项

如果需要运行新的容器,请先停止和删除已有的容器:

docker stop mymysql
docker rm mymysql

总结

以上就是 Docker 镜像的使用方法以及如何基于 Docker 镜像运行 Spring Boot 项目和 MySQL 数据库的示例,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单谈谈Docker镜像的使用方法 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Docker容器修改端口映射的实现

    下面是关于Docker容器修改端口映射实现的攻略。 什么是Docker容器端口映射 Docker是一种容器化技术,所有的应用程序和依赖项都可以打包进一个独立的容器中。容器虚拟化了操作系统,这样我们就可以在一个和主机的系统完全独立的环境中运行应用程序。Docker容器端口映射是一种将容器内部端口映射到宿主机外部端口的技术。这样,我们可以通过宿主机的IP地址和端…

    Docker 2023年5月16日
    00
  • Docker定制容器镜像的2种方法(推荐)

    关于“Docker定制容器镜像的2种方法”,我为你提供如下攻略: 一、概念解释 在Docker中,容器镜像是由一系列只读层组成的,它们都在初始化时被创建,而你在容器内进行的修改都是在一层新的可读写层中进行的。为了创建一个新的容器镜像,你可以利用Dockerfile文件中的指令构建一个新的可读写层,Docker还提供了另外两种构建镜像的方法,即通过“修改容器后…

    Docker 2023年5月16日
    00
  • K3S 系列文章-5G IoT 网关设备 POD 访问报错 DNS ‘i/o timeout’分析与解决

    开篇 《K3s 系列文章》 《Rancher 系列文章》 问题概述 20220606 5G IoT 网关设备同时安装 K3S Server, 但是 POD 却无法访问互联网地址,查看 CoreDNS 日志提示如下: … [ERROR] plugin/errors: 2 update.traefik.io. A: read udp 10.42.0.3:38…

    2023年4月9日
    00
  • Docker RUN CMD

    IMAGE LAYERS1  ADD file … in /                                          2.67 MB 2  CMD [“/bin/sh”]                                           0 B 3  COPY dir:224deceb6f6152738d1b0…

    Docker 2023年4月12日
    00
  • docker 动态映射运行的container端口实例详解

    让我详细为您讲解“docker 动态映射运行的container端口实例详解”的攻略: 什么是docker动态映射? 在使用Docker时,我们通常会将本地端口映射到容器的特定端口上,以便我们可以在本地访问容器中运行的应用程序。而这个端口映射的过程可以使用静态映射和动态映射两种方式完成。 动态映射是指宿主机自动为Docker容器分配一个空闲端口,Docker…

    Docker 2023年5月16日
    00
  • docker、docker compose、k8s的区别

    转载:https://blog.csdn.net/hliq5399/article/details/115967448     Docker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Docker创建,运行在Docker中,其他相关的容器技术都是以Docker为基础,它是我们使用其他容器技术的核心。 Docker-Co…

    Docker 2023年4月11日
    00
  • Docker+nginx部署前后端分离项目

    1.下载Docker和Docker-Compose 1.安装Docker 记一次踩坑:误装podman-docker问题概述:Centos8去下载Docker时,默认装的是podman-docker。当你去执行命令:systemctl start docker时,会出现以下错误:所以我们必须卸载装的podman-docker,重新安装。 1.卸载podman…

    2023年4月10日
    00
  • 阿里云安装docker全过程

    下面是“阿里云安装docker全过程”的详细攻略: 准备 在安装docker之前,您需要在阿里云上启动一台Linux云服务器,并使用root权限登录。 安装docker 更新软件包索引 运行以下命令以更新软件包索引并确保所有依赖项都是最新的: bash sudo apt-get update sudo apt-get install apt-transpor…

    Docker 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部