Linux环境下Docker实现项目部署

这篇具有很好参考价值的文章主要介绍了Linux环境下Docker实现项目部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.linux环境准备

1.Vmware

2.MobarXterm

报错:启动mobarXterm时 Network error: Connection timed out

Network error: Connection timed out
Session stopped
    - Press <return> to exit tab
    - Press R to restart session
    - Press S to save terminal output to file

解决:在Vmware中关闭防火墙

	关闭并禁用防火墙
	systemctl stop firewalld
	systemctl disable firewalld
	查看状态
	systemctl status firewalld

参考【】 

二.Docker安装

 

三.MySQL部署

1.安装HeidiSQL

参考【】

2.创建数据库docker

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

//默认为latest版本的mysql

Linux环境下Docker实现项目部署,linux,docker 参考

【https://www.bilibili.com/video/BV1HP4118797/?p=4&share_source=copy_web&vd_source=10835d8d64d716d4b383904238bd8741】

3.在HeidiSQL连接

打开左上角的"显示器连接管理器"

Linux环境下Docker实现项目部署,linux,docker

点击左下角"新建"

右边填写ip地址 {虚拟机设置以太网时,显示的ip地址}

填写用户,密码 {创建数据库docker代码中设置的}

填写端口  { {创建数据库docker代码中 3306:3306  填写冒号前面的部分}

宿主机端口:容器内端口

宿主机端口要改动,用于数据库连接;各容器内端口默认3306,无需改动

Linux环境下Docker实现项目部署,linux,docker

点击打开,保存更改,即可连接数据库

4.镜像下载

Docker Hub网站:  http://hub.docker.com

5.其他docker命令

官方文档:http://docs.docker.com

进入官网-> Reference->Commandline reference->查阅命令和作用

下载镜像

docker pull

 查看镜像

docker images

删除镜像

docker rmi

 创建并运行容器

docker run

停止容器

docker stop

启动容器 

docker start

查看容器运行状态

docker ps

删除容器

docker rm

查看容器 : 查看ip地址

docker inspect +容器名

进入容器内部执行一些命令

docker exec

 查看运行日志

docker logs

四.Nginx部署

1.ningx镜像容器

1.去DockerHub【hub.docker.com】查看nginx镜像仓库及相关信息

2.拉取Nginx镜像

docker pull nginx

3.查看镜像

docker images

Linux环境下Docker实现项目部署,linux,docker

4.创建并允许Nginx容器

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

5.查看运行中容器

docker ps


//也可以加格式化方式访问,格式会更加清爽
//docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

6.持续查看nginx日志

docker logs -f nginx

{ Ctrl + C 停止} 

7.访问网页   地址:http://虚拟机地址

发现nginx已启动

Linux环境下Docker实现项目部署,linux,docker

8.进入容器,查看容器内目录

docker exec -it nginx bash


//或者,可以进入MySQL

1直接进入客户端
docker exec -it mysql mysql -uroot -p

2先进入mysql容器 再进入客户端
//docker exec -it 
//mysql mysql -uroot -p
//输密码

 { exit 退出}

五.与容器挂载

1.数据卷挂载

数据卷是一个虚拟目录,他把宿主机目录映射到容器目录,方便我们操作容器内文件,或者方便迁移容器产生的数据。

下文以挂载nginx举例

指定数据卷

这个操作包含容器的创建!

# 1.首先创建容器并指定数据卷,注意通过 -v 参数来指定数据卷
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
//容器目录


# 2.然后查看数据卷
docker volume ls
# 结果
DRIVER    VOLUME NAME
local     29524ff09715d3688eae3f99803a2796558dbd00ca584a25a4bbc193ca82459f
local     html

# 3.查看数据卷详情
docker volume inspect html
# 结果
[
    {
        "CreatedAt": "2024-05-17T19:57:08+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/html/_data",   //宿主机目录
        "Name": "html",
        "Options": null,
        "Scope": "local"
    }
]

# 4.查看/var/lib/docker/volumes/html/_data目录
ll /var/lib/docker/volumes/html/_data
# 可以看到与nginx的html目录内容一样,结果如下:
总用量 8
-rw-r--r--. 1 root root 497 12月 28 2021 50x.html
-rw-r--r--. 1 root root 615 12月 28 2021 index.html

# 5.进入该目录,并随意修改index.html内容
cd /var/lib/docker/volumes/html/_data
vi index.html

# 6.打开页面,查看效果

# 7.进入容器内部,查看/usr/share/nginx/html目录内的文件是否变化
docker exec -it nginx bash

修改文件

1.MobarXterm直接修改

在左导航栏找到地球->找到文件->进入编辑器修改

Linux环境下Docker实现项目部署,linux,docker

2.vi指令法

vi index.html

进入文件后
单击s进入编辑模式
单击Esc退出编辑模式
退出编辑模式后输入” :wq “  保存并退出vi
退出编辑模式后输入” :q “  退出vi

补充

Linux环境下Docker实现项目部署,linux,docker

 2.本地目录挂载

 下文以挂载mysql举例

指定本地目录

这个操作包含容器的创建!

3.查看挂载信息(补充)

docker inspect +容器名

其中Mounts部分就为挂载信息 

Linux环境下Docker实现项目部署,linux,docker

六.前端部署

七.后端部署

1.自定义镜像

Dockerfile

基于jdk构建镜像:

Dockerfile要和jar包在同一个文件夹

# 基础镜像!!!注意这个镜像openjdk:11.0-jre-buster是要自己下的
FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY docker-demo.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

构建镜像:

进入Dockerfile文件所在的文件夹执行命令

# 进入镜像目录
cd /root/demo
# 开始构建
docker build -t docker-demo:1.0 .

//-t 表示给镜像起名字


# 查看镜像列表:
docker images


# 1.创建并运行容器
docker run -d --name dd -p 8090:8090 docker-demo:1.0

# 2.查看容器
dps

2.自定义网络

用来让容器之间相互联系的桥梁,在不同容器中可以互相访问文章来源地址https://www.toymoban.com/news/detail-831822.html

# 1.首先通过命令创建一个网络
docker network create hmall

# 2.然后查看网络
docker network ls

# 3.让dd和mysql都加入该网络,注意,在加入网络时可以通过--alias给容器起别名
# 这样该网络内的其它容器可以用别名互相访问!
# 3.1.mysql容器,指定别名为db,另外每一个容器都有一个别名是容器名
docker network connect hmall mysql --alias db

//通过docker inspect mysql ->networks 来查看容器mysql连接的网络

# 3.2.db容器,也就是我们的java项目
docker network connect hmall dd

# 4.进入dd容器,尝试利用别名访问db
# 4.1.进入容器
docker exec -it dd bash
# 4.2.用db别名访问
ping db
# 结果
PING db (172.18.0.2) 56(84) bytes of data.
64 bytes from mysql.hmall (172.18.0.2): icmp_seq=1 ttl=64 time=0.070 ms
64 bytes from mysql.hmall (172.18.0.2): icmp_seq=2 ttl=64 time=0.056 ms
# 4.3.用容器名访问
ping mysql
# 结果:
PING mysql (172.18.0.2) 56(84) bytes of data.
64 bytes from mysql.hmall (172.18.0.2): icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from mysql.hmall (172.18.0.2): icmp_seq=2 ttl=64 time=0.054 ms

到了这里,关于Linux环境下Docker实现项目部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker在linux下简单部署项目

    1. 编写dockerfile文件 2. 将jar包和docker文件放到服务器上 执行mvn clean package docker:build 3.执行docker images查询是否存在镜像 4.启动方式放在下面写 3.创建一个.gitlab-ci.yml 文件 3.1解析.gitlab-ci.yml 文件 以下图示例 4.配置一个 Runner 5.查询运行日志 项目中未使用请参考 https://juejin.cn/pos

    2024年02月17日
    浏览(45)
  • Linux离线arm环境安装部署docker详细教程

    1、下载 通过官网下载docker安装包,找arm环境的安装包,如果是x86环境可以下载对应的安装包 Index of linux/static/stable/aarch64/ 2、上传到服务器上,通过rz命令 上传成功后解压 tar -xvf docker-24.0.6.tgz  3. 复制文件到 /usr/bin cp ./docker/* /usr/bin 4. 创建docker.service vim  /etc/systemd/system/doc

    2024年02月03日
    浏览(46)
  • 【Linux Ubuntu】Docker部署 ELK全家桶 镜像环境

    1、查看防火墙状态 2、开启防火墙 3、关闭防火墙 4、开机禁止开启防火墙 5、开启自启防火墙 1、安装指定版本 比如 8.2.0 2、查看是否拉取成功 3、选择挂载硬盘创建四个目录,并设置目录权限为可读写。 4、先启动一个简单的容器 这里记录一下 进入容器的方式 先查看正在运

    2024年02月05日
    浏览(45)
  • 【Docker】Docker的部署含服务和应用、多租环境、Linux内核的详细介绍

    前言 Docker 是一个 开源的应用容器引擎 ,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux或Windows 操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 📕作者简介: 热爱跑步的恒川 ,致力于

    2024年02月13日
    浏览(48)
  • 【Docker】Linux中使用Docker安装Nginx部署前后端分离项目应用

    目录 一、概述 1. Nginx介绍 2. Nginx优势 3. Nginx的工作原理 二、容器创建 1. Mysql容器 2. Tomcat容器 3. Nginx容器 每篇一获 Nginx(发音为 \\\"engine x\\\")是一个开源的、高性能的 HTTP 服务器和反向代理服务器。它也可以作为一个 IMAP/POP3/SMTP 代理服务器。Nginx 是由 Igor Sysoev 开发的,最

    2024年01月21日
    浏览(50)
  • Linux系列:从0到1用Docker部署springboot项目

    目录 1.前提条件 2.编写DockerFile镜像文件 3.打包SpringBoot项目  4.通过软件Xftp进行传输(*) 1.点击“文件-新建”​编辑 5.操作远程主机 1.docker构建 2.容器运行  6.容器的关闭和删除 1.前提条件 Linux、docker、xftp的安装、一台可以访问的远程主机 2.编写DockerFile镜像文件 Dockerfile 是

    2024年02月13日
    浏览(43)
  • abpvnext框架的项目部署到linux arm64版的docker中

    参考: windows10下安装的docker 导出镜像到另一个电脑_docker镜像拷贝另一台机器的镜像-CSDN博客 前提条件: 1、vs2022,我的电脑本机安装有windows版docker desktop 。 2、linux中已经安装好docker,安装了sftp。这部分可以自行去查资料安装。 3、项目里有dockerfile支持文件。我的支持文件

    2024年02月03日
    浏览(35)
  • 如何使用Docker将.Net6项目部署到Linux服务器(一)

    目录 一 配置服务器环境 1.1 配置yum                                                                                                                     1.1.1 更新yum包 1.1.2 yum命令 1.2 配置docker                                                           

    2024年02月04日
    浏览(47)
  • DeepFace【部署 03】轻量级人脸识别和面部属性分析框架deepface在Linux环境下服务部署(conda虚拟环境+docker)

    Anaconda的安装步骤这里不再介绍,直接开始使用。 以下操作在虚拟环境 deepface 下执行: 使用 yum install mesa-libGL.x86_64 命令会在Linux系统中安装mesa-libGL包。这个包包含了Mesa 3D图形库的运行时库和DRI驱动。安装mesa-libGL包后,系统将能够支持OpenGL,这是一种用于渲染2D和3D矢量图形

    2024年02月08日
    浏览(66)
  • 基于Docker的深度学习环境NVIDIA和CUDA部署以及WSL和linux镜像问题

    docker的介绍网上有很多,对于深度学习的认来讲,docker的好处就是直接把环境分享给他人,他人不需要再配置环境了。 比如我有一个目标检测的项目,我想分享给朋友,那么他首先需要在自己的电脑上配置好显卡驱动、CUDA、CuDNN,在拿到我的项目后,还需要安装各种依赖库,

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包