Java essay Java essay
首页
  • Java基础
  • Java进阶
  • 设计模式
  • 多线程
  • Java你不知道的小事
  • Spring初识
  • Spring进阶
  • SpringBoot基础
  • SpringBoot进阶
  • 什么是微服务
  • SpringCloud全家桶
  • Dubbo
  • SpringCloud Alibaba
  • Vue
  • 小程序
  • 博客搭建
  • 数据库
  • python
  • 大数据
  • 性能分析优化
  • 中间件
  • 云原生
  • 面试
  • 外卖霸王餐
  • 打工人的带饭生活
  • 30岁我该怎么办
友链
关于我
GitHub (opens new window)

Mr.Fire

全栈工程师
首页
  • Java基础
  • Java进阶
  • 设计模式
  • 多线程
  • Java你不知道的小事
  • Spring初识
  • Spring进阶
  • SpringBoot基础
  • SpringBoot进阶
  • 什么是微服务
  • SpringCloud全家桶
  • Dubbo
  • SpringCloud Alibaba
  • Vue
  • 小程序
  • 博客搭建
  • 数据库
  • python
  • 大数据
  • 性能分析优化
  • 中间件
  • 云原生
  • 面试
  • 外卖霸王餐
  • 打工人的带饭生活
  • 30岁我该怎么办
友链
关于我
GitHub (opens new window)
  • docker

    • Docker初识
    • Docker安装
    • Dockerfile介绍
    • 神奇的Docker镜像
      • 1.docker镜像
      • 2.镜像获取与查找
      • 3.删除镜像
      • 自己制作一个镜像
        • 1.编写dockerfile
        • 2.添加nginx配置文件
        • 3.打包项目
        • 4.构建镜像
        • 5.启动镜像
        • 6.访问项目
        • 7.其他命令
    • Docker Compose介绍及使用
  • 容器
  • docker
Mr.Fire
2022-08-30
目录

神奇的Docker镜像

  • 1.docker镜像
  • 2.镜像获取与查找
  • 3.删除镜像
  • 自己制作一个镜像
    • 1.编写dockerfile
    • 2.添加nginx配置文件
    • 3.打包项目
    • 4.构建镜像
    • 5.启动镜像
    • 6.访问项目
    • 7.其他命令

# 1.docker镜像

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

查看已有的镜像

docker images
1

  • REPOSITORY:表示镜像的仓库源

  • TAG:镜像的标签

  • IMAGE ID:镜像ID

  • CREATED:镜像创建时间

  • SIZE:镜像大小

# 2.镜像获取与查找

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

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

镜像查找

docker search tomcat
1

  • NAME: 镜像仓库源的名称

  • DESCRIPTION: 镜像的描述

  • OFFICIAL: 是否 docker 官方发布

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

  • AUTOMATED: 自动构建。

# 3.删除镜像

docker rmi hello-world
1

# 自己制作一个镜像

这里我以一个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/
1
2
3
4
5
6
7
8
  • nginx.conf:我指定的NGINX配置文件
  • dist:项目打包后的文件

# 2.添加nginx配置文件

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

vi nginx.conf
1

编辑内容如下图:

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

# 3.打包项目

npm run build
1

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

# 4.构建镜像

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

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

# 5.启动镜像

查看镜像

docker ps
1

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

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

– name:指定容器名

  • p:指定容器和宿主机之间的端口映射
  • d:守护进程运行
  • javaessay:指定启动 javaessay 镜像

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

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

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

# 6.访问项目

http://60.205.187.137:8081/ (opens new window)

http://60.205.187.137:8082/ (opens new window)

两个端口均能正常访问

# 7.其他命令

停止容器:

docker stop 容器id
1

重启:

docker restart 容器id
1

删除容器:

docker rm -f 1e560fca3906
1
docker rm -f name
1

查看日志:

docker logs -f bf08b7f2cd89
1
最后更新时间: 2023/03/01, 22:17:09
Dockerfile介绍
Docker Compose介绍及使用

← Dockerfile介绍 Docker Compose介绍及使用→

最近更新
01
SuperBuilder
12-29
02
30岁我该怎么办
12-29
03
关于存钱
12-29
更多文章>
Theme by Vdoing | Copyright © 2021-2025 Mr.Fire | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式