Docker部署项目完全使用指南(小结)

目录
  • 环境准备
    • Docker安装启动
    • Java环境安装
    • Docker远程访问配置
    • Docker重启
  • IDEA配置Docker
    • 项目配置
    • 配置Dockerfile文件
  • Docker配置
    • Maven打包生成Docker镜像
  • 总结
    • Linux操作命令
    • Docker操作命令

环境准备

Docker安装启动

检查系统内核是否满足3.10及以上版本:

uname -r

升级内核软件包:

yum update

使用yum安装Docker:

yum install docker

启动Docker:

systemctl start docker

查看Docker版本:

docker -v

Java环境安装

使用Docker安装Java 8的环境:

docker pull java:8

Docker远程访问配置

打开docker.service文件:

vim /lib/systemd/system/docker.service

添加监听端口:

ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Docker重启

重新加载Docker的配置文件:

systemctl daemon-reload

重启Docker:

systemctl restart docker

查看是否存在dockerd-current进程:

netstat -tulp

使用curl查看Docker的配置是否生效:

curl http://127.0.0.1:2375/info

IDEA配置Docker

在路径File->Settings下打开Docker:

配置Docker的路径地址:

项目配置

配置pom.xml文件

在项目的pom.xml文件中添加如下配置:

<!-- docker-maven-plugin插件 -->
<plugin>
	<groupId>com.spotify</groupId>
	<artifactId>docker-maven-plugin</artifactId>
	<version>1.0.0</version>

	<!-- 绑定插件在指定的phase上执行 -->
	<executions>
		<execution>
			<id>build-image</id>
			<!-- 绑定插件在package这个phase上.这样只要执行mvn package,就会自动执行mvn docker:build -->
			<phase>package</phase>
			<goals>
				<goal>build</goal>
			</goals>
		</execution>
	</executions>

	<configuration>
		<!-- 指定生成的镜像名称.可以使用项目的名称作为镜像名 -->
		<imageName>${project.artifactId}</imageName>
		<!-- 指定标签.这里是可以是镜像的版本 -->
		<imageTags>
			<imageTag>latest</imageTag>
		</imageTags>
		<!-- 指定项目中Dockerfile文件的路径 -->
		<dockerDirectory>${project.baseDir}/src/main/resources</dockerDirectory>

		<!-- 指定远程Docker路径地址 -->
		<dockerHost>http://192.168.6.66:2375</dockerHost>

		<!-- 配置复制jar包到Docker容器中的指定目录 -->
		<resources>
			<resource>
				<targetPath>/</targetPath>
				<!-- 配置jar包所在路径. 这里的路径就是对应项目中的target目录的路径 -->
				<directory>${project.build.directory}</directory>
				<!-- 配置需要包含的jar包. 这里对应的就是Dockerfile中添加的文件名 -->
				<include>${project.build.finalName}.jar</include>
			</resources>
		</resources>
	</configuration>
</plugin>

配置Dockerfile文件

FROM java:8

# 挂载目录
VOLUME /tmp

ADD *.jar app.jar

# 暴露端口号
EXPOSE 8083

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]

Docker配置

Maven打包生成Docker镜像

依次使用Maven工具栏中的cleanpackage命令对项目进行打包操作,生成Docker镜像

在生成的Docker镜像右击选择Create Container进行Docker镜像配置,配置完成后点击Run启动Docker容器:

Docker容器启动完成后效果图如下:

根据端口名8083和项目名称oxford访问项目:

http://127.0.0.1:8083/oxford

总结

Linux操作命令

查看Linux防火墙状态:

service firewalld status

关闭Linux防火墙:

service firewalld stop

Docker操作命令

配置Docker开机自启动:

systemctl enable docker

停止Docker服务:

systemctl stop docker

启动Docker服务:

systemctl start docker

查看所有镜像:

docker images

拉取指定名称的镜像:

# :tag是可选值.表示标签.通常为镜像软件的版本,默认为latest
docker pull 镜像名:tag

删除指定的镜像:

docker rmi image-id

查看运行中的Docker容器:

docker ps

查看所有Docker容器,包括运行中的Docker容器和未运行的Docker容器:

docker ps -a

启动容器:

docker start 容器名称/容器ID

停止容器:

docker stop 容器名称/容器ID

删除容器:

docker rm 容器ID

查看容器日志:

docker logs 容器名称/容器ID

在指定的Docker容器中运行指定的镜像:

# --name表示自定义容器名称.-d表示后台运行
docker run --name 自定义容器名称 -d 镜像名称

# -p表示主机端口映射到的容器内部端口
docker run --name 自定义容器名称 -d 镜像名称 -p 8088:8080

到此这篇关于Docker部署项目完全使用指南(小结)的文章就介绍到这了,更多相关Docker部署项目内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • docker-compose部署php项目实例详解

    1.制定特定扩展的PHP镜像 sudo mkdir -p /www/docker sudo cd /www/docker sudo vi Dockerfile FROM php:7.2-fpm-alpine MAINTAINER diaocheweide RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories RUN apk update && apk add --no-cache -

  • 使用Docker部署SpringBoot项目的实现方法

    Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目,然后给项目添加 Docker 支持,最后对项目进行部署. 一个简单 Spring Boot 项目 在 pom.xml 中 ,使用 Spring Boot 2.0 相关依赖 <parent> <groupId>org.springframework.boot</groupId>

  • docker中部署golang项目的步骤详解

    理解Docker Docker可以帮您为自己的应用程序创建一个单一的可部署"单位".这样的单位也叫做容器,其中包含了应用程序需要的一切.例如代码(或二进制文件).运行时.系统工具,以及系统库文件.将所有这些需要的内容打包为一个单一的单位,可确保无论将应用程序部署在何处,都能提供完全相同的环境.这种技术还可以帮您维持完全一致的开发和生产环境,通常这些环境是很难被追踪的. 一旦搭建完成,容器的创建和部署将可自动进行.这本身就可以避免一系列问题.这些问题中大部分都是因为文件不同步,或开发和生

  • Docker部署Python爬虫项目的方法步骤

    1) 首先安装docker: # 用 yum 安装并启动 yum install docker -y && systemctl start docker 2) 下载自定义镜像需要用到的基础镜像: # 这里以centos7为例 docker pull centos:centos7 3) 基础镜像已经准备好了,接下来准备好需要部署的环境服务,以及python项目: ### 创建 dockerfile 文件 mkdir dockerfile && cd dockerfile ##

  • docker-compose基于MySQL8部署项目的实现

    1.首先按照以下的路径创建相应的文件夹 /usr/local/docker/mysql 2.然后在该目录下创建docker-compose.yml文件并且在文件中加入以下的配置 version: '3.1' services: db: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: 123456 command: --default-authentication-plugin=mysql_native_password

  • docker nginx 部署多个项目的示例方法

    前提条件 1.本地电脑和服务器已安装 docker,下载方法自行谷歌吧 2.在 docker hub 上已有账号, 注册传送门: https://hub.docker.com/ 3.需要对 docker 已有所熟悉 ,并了解Dockerfile里的一些指令 使用Dockerfile 制作镜像 假如本机有一个叫web的项目 在web根目录下新建Dockerfile,写入以下内容 FROM nginx:1.13.6-alpine LABEL maintainer="lilywang <lily

  • 详解如何使用Docker部署一个web项目并打包成镜像文件

    docker基本入门以后,可以试试打包docker镜像与dockerfile了 docker镜像 docker hub仓库有2类仓库,用户仓库和顶层仓库,用户仓库由docker用户创建的,顶层仓库由docker内部的人来管理的.仓库里存放的是镜像文件,那么问题来了 ,怎么去创建镜像呢? how to create image 构建docker镜像的有2种方法: 1.使用docker commit命令. 2.使用docker build 命令和Dockerfile文件.在这里并不推荐使用docke

  • Docker镜像+nginx 部署 vue 项目的方法

    一.打包vue项目 在开发完的vue项目输入如下命名,打包生成dist文件夹 yarn build / npm run build 此时根目录会多出一个文件夹:dist文件夹,里面就是我们要发布的东西. 如果将该dist目录整个传到服务器上,部署成静态资源站点就能直接访问到该项目. 二.获取nginx 镜像 nginx 是一个高性能的HTTP和反向代理服务器,此处我们选用 nginx 镜像作为基础来构建我们的vue应用镜像. 在终端输入: docker pull nginx 即可以获取到ngin

  • Docker部署项目完全使用指南(小结)

    目录 环境准备 Docker安装启动 Java环境安装 Docker远程访问配置 Docker重启 IDEA配置Docker 项目配置 配置Dockerfile文件 Docker配置 Maven打包生成Docker镜像 总结 Linux操作命令 Docker操作命令 环境准备 Docker安装启动 检查系统内核是否满足3.10及以上版本: uname -r 升级内核软件包: yum update 使用yum安装Docker: yum install docker 启动Docker: system

  • Spring Cloud中使用jib进行docker部署的步骤详解

    Jib介绍 Jib 是 Google 开发的可以直接构建 Java 应用的 Docker 和 OCI 镜像的类库,以 Maven 和 Gradle 插件形式提供. 通过 Jib,Java 开发者可以使用他们熟悉的 Java 工具来构建容器.Jib 是一个快速而简单的容器镜像构建工具,它负责处理将应用程序打包到容器镜像中所需的所有步骤.它不需要你编写 Dockerfile 或安装 Docker,而且可以直接集成到 Maven 和 Gradle中 -- 只需要将插件添加到构建中,就可以立即将 Jav

  • Docker部署ELK7.3.0日志收集服务最佳实践

    写在最前面 本文仅包含ELK7.3.0部署! 部署环境: 系统 CentOS 7 Docker Docker version 19.03.5 CPU 2核 内存 2.5G 磁盘 30G(推荐设置,磁盘不足可能会引发es报错) Filebeat v7.3.0,单节点 ElasticSearch v7.3.0,两份片 Kibana v7.3.0,单节点 Logstash v7.3.1,单节点 ELK分布式集群部署方案 linux中elasticsearch用户拥有的内存权限太小,至少需要262144

  • Docker 部署net5程序实现跨平台功能

    部署环境:docker 容器.liunx系统.这里采用VmWare虚拟机.并采用MobaXterm工具实现终端连接linux系统 2.(环境准备)启动虚拟机.并终端连接 192.168.20.128 (后续直接采用此地址直接访问.NET5项目) linux系统通过ifconfig查看IP地址.并在宿主机中使用MobaXterm操作使用(关于MobaXterm使用详见:https://www.jb51.net/article/212323.htm 3.创建.NET5项目.此项目创建asp.net

  • 5分钟教会你用Docker部署一个Python应用

    目录 前言 1. Dockerfile 描述文件 2. 实战一下 2-1 项目开发 2-2 编写 Dockerfile 2-3 构建镜像 2-4 运行镜像容器 2-5 测试一下 3. 总结 前言 在使用传统物理机或云服务器上部署项目都会存在一些痛点 比如:项目部署速度慢.资源浪费.迁移难且扩展低 而使用 Docker 部署项目的优势包含: 高效利用系统资源 服务启动更快 环境一致,迁移更加方便 本篇文章将介绍 Docker 部署一个 Python 项目的常规流程 1. Dockerfile 描述

  • 详解springboot项目docker部署实践

    网上查了下大部分boot项目部署都是在linux和docker hub环境下完成的,由于本人开发环境在windows下面,并且docker容器也是使用的docker tools,而且也没有做docker hub的加速.所以就尝试在windows环境下利用阿里云docker仓库完成部署. 1.在docker tools 中新建文件夹,并且找到位置,然后把打包好的boot jar文件放入新建的文件夹中 在该文件夹下面新建一个Dockerfile文件,示例如下: FROM daocloud.io/ja

  • Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数示例代码

    最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4.项目准备 5.编写 Dockerfile 6.发布项目 7.测试服务 环境准备 系统:Ubuntu 17.04 x64 Docker 17.12.0-ce IP:45.32.31.101 一.安装 Docker CE 国内不建议使用:"脚本进行安装",会下载安装很慢,使用步骤 1 安装,看下面的链接:常规安装方式 1.常规安装方式 Ubuntu 17.04 x64 安装

  • Spring Boot利用Docker快速部署项目的完整步骤

    1.简介 建议阅读本文最好对Dokcer有一些了解 首先我们先了解一下Docker是什么 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面.运行这个文件,就会生成一个虚拟容器.程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样.有了 Docker,就不用担心环境问题. 总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器.

  • 使用docker部署django技术栈项目的方法步骤

    随着Docker的普及成熟,已经逐渐成为部署项目的首选,今天来和大家分享下如何使用docker部署django技术栈项目. 我们这里说的Django技术栈为:python3.6.Django2.2.redis.mysql.celery.gunicorn和nginx.在实际的生产项目中,这些组件分布在集群的不同机器,如Nginx.redis和Mysql可能会有单独的团队或部门负责.涉及的部署架构和容器的编排会更为复杂,本文暂不去深究.本文主要介绍,如何使用 docker-compose 来编排这些

  • Docker 部署Django项目的方法示例

    使用docker部署django项目也很简单,挺不错,分享下 环境 默认你已安装好docker环境 django项目大概结构 (p3s) [root@opsweb]# tree opsweb opsweb ├── apps ├── logs ├── manage.py ├── media ├── opsweb ├── README.md ├── requirements.txt └── static 编写Dockerfile 这里指定 Python 版本为docker官方提供的 "0.0.0.0

随机推荐