查看原文
其他

Docker入门保姆级教程四之镜像

MrFire 架构师成长之路 2023-09-18

点击蓝字

关注我们


前言

接上文Docker入门保姆级教程三,本节内容主要讲解如何使用docker镜像,以及如何构建一个镜像,部署自己的项目。

1.docker镜像

当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载

查看已有的镜像

docker images

  • REPOSITORY:表示镜像的仓库源

  • TAG:镜像的标签

  • IMAGE ID:镜像ID

  • CREATED:镜像创建时间

  • SIZE:镜像大小

2.镜像获取与查找

获取镜像

当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。

docker pull centos:8
  • 格式:镜像名称:版本

镜像查找

docker search tomcat

  • NAME: 镜像仓库源的名称

  • DESCRIPTION: 镜像的描述

  • OFFICIAL: 是否 docker 官方发布

  • stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

  • AUTOMATED: 自动构建。


3.删除镜像

docker rmi hello-world

4.自己制作一个镜像

这里我以一个Vue项目为例,制作一个镜像

1.编写dockerfile

在路径/usr/local/software/docker/nginx/下创建Dockerfile文件

#指定基础镜像
FROM nginx
LABEL author=Mr.Fire
#删除基础镜像中的Nginx配置文件替换成自己写的
RUN rm /etc/nginx/conf.d/default.conf
ADD nginx.conf /etc/nginx/conf.d/
#将打包好的vue项目复制到基础镜像中Nginx配置文件的指定路径下
COPY dist/ /usr/share/nginx/html/
  • nginx.conf:我指定的NGINX配置文件

  • dist:项目打包后的文件

2.添加nginx配置文件

在路径/usr/local/software/docker/nginx/下创建nginx配置文件

vi nginx.conf

编辑内容如下图:

主要内容:配置端口,宿主机ip(服务器ip),首页

3.打包项目

npm run build

上传打包好的dist文件夹到路径/usr/local/software/docker/nginx/

4.构建镜像

docker build -t javaessat .
  • -t :指定要创建的目标镜像名

  • .:Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

5.启动镜像

查看镜像

docker images

用创建好的镜像启动一个容器

docker run --name front -p 8081:8081 -d javaessay

– name:指定容器名

  • p:指定容器和宿主机之间的端口映射

  • d:守护进程运行

  • javaessay:指定启动 javaessay 镜像

此时如果我们想多启动几个,就非常简单了

docker run --name front2 -p 8082:8081 -d javaessay

再次启动一个,可以看到已经有两个容器在运行,就相当于部署了两个。这当然你还可以基于此镜像启动更多容器,就体现了docker横向扩展的能力。

6.访问项目

http://60.205.187.137:8081/

http://60.205.187.137:8082/

两个端口均能正常访问


项目地址:点击阅读原文即可访问,阅读最新文章

GitHub:https://github.com/FireHH/Java-essay

 THE END


推荐阅读  

Docker入门保姆级教程三

Dubbo的负载均衡详解

面试官:Redis和Mysql如何保证数据一致性

CompletableFuture的正确打开方式

SpringBoot2.x 整合ShardingSphere5.x实现分表

点赞+在看,关注公众号回复“666”领取福利

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存