ToB企服应用市场:ToB评测及商务社交产业平台

标题: 使用docker快速摆设Nginx、Redis、MySQL、Tomcat以及制作镜像 [打印本页]

作者: 小秦哥    时间: 2024-11-19 05:29
标题: 使用docker快速摆设Nginx、Redis、MySQL、Tomcat以及制作镜像
应用快速摆设

Nginx

  1. docker run -d -p 80:80 nginx
复制代码
使用欣赏器访问虚拟机地址


Redis

  1. docker pull redis
  2. docker run --name redis -d -p 6379:6379 redis
复制代码
可以使用 Redis 客户端工具毗连

毗连成功可以看到服务器信息


MySQL

企业中用得最多的是 MySQL 5.7 版本
  1. docker pull centos/mysql-57-centos7
  2. # MYSQL_ROOT_PASSWORD是设置默认登录用户名和密码都是root
  3. docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root centos/mysql-57-centos7
复制代码
通过客户端比方 navicat、dbeaver 毗连

Tomcat

可以先在 Docker Hub 中搜索 tomcat,找到对应的 tomcat 版本和 JDK 版本
  1. # 下载镜像
  2. docker pull tomcat
  3. # 创建tomcat目录
  4. mkdir -p /opt/docker/tomcat/ROOT
  5. cd /opt/docker/tomcat/ROOT
  6. # 创建index.html文件
  7. vim index.html
  8. # 写入简单内容
  9. <html>
  10.         <h1>Hello Tomcat in Docker!</h1>
  11. </html>
  12. # 启动容器
  13. docker run -d -p 8080:8080 --name tomcat -v /opt/docker/tomcat:/usr/local/tomcat/webapps tomcat
复制代码
参数分析:

用欣赏器打开 8080 端口


制作镜像

镜像原理

思索:



镜像原理


基于已有容器创建

  1. docker commit [OPTIONS] 容器名称或ID [镜像名称[:TAG]]
  2. # 示例;使用MySQL容器创建镜像
  3. docker commit 7c mysqltest:1.0
  4. # 查看镜像
  5. docker images
  6. # 启动容器
  7. docker run -d -p 3306:3306 mysqltest:1.0
复制代码
OPTIONS 参数分析:


使用 Dockerfile 创建镜像

Dockerfile 是一个文件,内容由一行行命令语句构成,主要分为四个部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。
  1. # 使用基础镜像
  2. FROM ubuntu:latest
  3. # 设置时区
  4. ENV TZ=Asia/Shanghai
  5. RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
  6. # 设置镜像的作者信息
  7. #LABEL maintainer="Your Name <your.email@example.com>"
  8. # 暴露容器的端口。非必需
  9. #EXPOSE 80
  10. # 定义环境变量
  11. #ENV ENV_VARIABLE_NAME=value
  12. # 执行更新操作并安装基本软件包。非必需
  13. #RUN apt-get update && \
  14. #    apt-get install -y \
  15. #    software-properties-common \
  16. #    build-essential \
  17. #    curl
  18. # 设置工作目录
  19. WORKDIR /app
  20. # 复制本地文件到容器中
  21. COPY . /app
  22. # 执行容器启动时的命令
  23. CMD ["command", "arg1", "arg2"]
  24. # 或者,如果需要以可执行文件形式运行应用程序
  25. # CMD ["./your_executable"]
  26. # 或者,如果是需要通过ENTRYPOINT启动的服务
  27. # ENTRYPOINT ["entrypoint_script.sh"]
复制代码

指令分析

指令分析FROM指定所创建镜像的基础镜像MAINTAINER维护者信息RUN运行命令CMD启动容器时默认执行命令LABEL标签信息EXPOSE声明镜像内服务所监听的端口ENV环境变量ADD复制指定路径下的内容到容器中的路径下,可以为URL,也可以是文件路径,如果为tar文件,会主动解压COPY复制宿主机的定路径下的内容到容器中的路径下USER运行容器时的用户名WORKDIR设置工作目次ARG指定镜像内使用的参数
构建应用

需求:构建一个 Web 应用,通过 docker 来运行
步骤:

创建 Dockerfile 文件

  1. vi Dockerfile
复制代码
编辑内容如下:
  1. # Spring Boot 运行需要依赖java
  2. FROM java:8
  3. # 复制jar包到容器中
  4. COPY docker-demo-0.0.1-SNAPSHOT.jar docker-demo-0.0.1-SNAPSHOT.jar
  5. # 运行命令
  6. CMD java -jar docker-demo-0.0.1-SNAPSHOT.jar
复制代码

创建镜像

编写完成Dockerfile后,可以通过以下命令来创建镜像:
  1. docker build [OPTIONS]
复制代码
主要参数如下:

示例:
  1. # 最后的.表示当前目录
  2. docker build -t mywebapp:1.0 .
复制代码
构建过程:

  1. # 查看镜像
  2. docker images
  3. # 启动镜像
  4. docker run -d -p 8080:8080 mywebapp:1.0
复制代码
打开欣赏器访问


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4