前言

这是我第一次使用dokcer部署项目,现学现卖。成功之后把所有用到的安装及部署和操作命令做一个总结。如有不足,请指教。

使用的是阿里云服务器。CentOS7版本。

Dokcer安装

1.Centos7安装Docker,系统一顿操作。

yum install docker-ce

2.设置开机自启动

chkconfig docker on
systemctl start docker.service
systemctl enable docker.service

3.使用Docker 中国加速器,因为Docker是外国的,有个强大防火墙。但是Docker也有秘密武器。

  首先:

vim  /etc/docker/daemon.json

  文件内容:

{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}

4.重新启动docker

systemctl restart docker

输入docker version 返回版本信息则安装正常。
测试docker是否成功
docker info
出现一下信息证明成功:

········
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
127.0.0.0/8
Registries: docker.io (secure)

项目部署

准备好一个springboot项目的jar包。

1.创建一个目录,用于放jar包和配置文件Dockerfile。

mkdir /usr/local/springboot

2.通过SSH工具将jar包上传并移动到这个文件夹(命令略...)

3.在这个目录下创建文件Dockerfile

touch Dockerfile

4.编写这个文件内容

vim Dockerfile
// 内容如下
FROM java:8
VOLUME /tmp
ADD XXXXXXXX.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

其中:XXXXXX.jar就是我们的springboot项目的jar包。

5.生成镜像文件

docker build -t springboot .

注意:以空格+点结尾,springboot是生成镜像的名字。

6.查看生成的镜像

docker images

7.创建容器并运行jar包

docker run -d -p 10001:10001 springboot ( springboot就是镜像文件)

这样就可以访问了。

所以,docker容器的性质和linux虚拟机是一样一样的。我们使用springboot的jar包,生成镜像文件,再利用镜像文件生成容器。最后使用和操作的就是容器。

如果项目更新了,需要更换容器。更换之前,需要停止容器并首先删除容器,要是先删除镜像文件的话,系统就会提示有容器在使用该镜像。

所以更新的思路为,停止并删除容器,更换镜像文件,重新生成容器并运行。

如果想要更新,可能用到的命令如下:

8.查看执行中的容器

docker ps

查看所有容器命令

docker ps -a

9.停止指定的容器

docker stop 784fd3b294d8  (这个是容器ID,上一步知道的,每次都是随机生成的)

或者

docker stop NAMES (同上)

10.启动已停止的容器

docker start 784fd4b2947d(这是容器ID)

11.进入docker容器

sudo docker exec -it 容器ID /bin/bash

docker容器就相当于一个linux虚拟机,里面的目录完全一样。
查看当前目录中的文件命令“ll”,不能用,“ls”可以。当然,有的命令不能用,也可以在里面装。
  1).如果项目中使用logback来打印日志文件,保存的地址是/usr/socket/...,如果用docker容器启动,产生的log文件当然在容器里,并不在云服务器对应的位置。进入到容器的指定位置,可以看到日志文件。
  2).如果项目里有上传文件的功能,并且使用的外部地址,地址是 /usr/upload/.. ,如果用容器运行,也是只会传到容器里对应的位置。

12.删除容器

docker rm 784fd3b294d8  (删除镜像之前必须先删除使用该镜像的容器)

13.如果要删除镜像文件

docker rmi springboot(springboot是镜像文件名字)

最后:我这里是使用Dockerfile文件生成镜像文件的,还有使用maven的方式生成镜像文件。我还未试过。

CentOS7安装Docker-CE并部署项目的更多相关文章

  1. Centos7安装Docker CE

      每次安装Docker都要去找文档,或者每次安装的都不一样,还是要好好管理自己的这些东西,下次用的时候可以省很多的时间   Docker的早期版本称为docker或docker-engine:现在的 ...

  2. CentOS7 安装 Docker CE步骤

    准备工作 系统要求 Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10. CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overla ...

  3. Centos7 安装docker ce

    一. 安装docker 1.升级rpm包 yum -y update 2. 通过命令设置Docker CE 资源库: yum install -y yum-utils yum-config-manag ...

  4. 在centos7上安装Docker CE

    Docker CE的基本安装 https://docs.docker.com/engine/installation/linux/docker-ce/centos/ 一.系统要求 1.安装Docker ...

  5. centos7 下安装Docker CE

    前提条件 操作系统要求 要保证centos-extrasrepository开启(enabled).默认处于开启状态. 推荐使用overlay2存储驱动 卸载老版本 $ sudo yum remove ...

  6. CentOS7 下 yum 安装 Docker CE

    前言 Docker 使用越来越多,安装也很简单,本次记录一下基本的步骤. Docker 目前支持 CentOS 7 及以后的版本,内核要求至少为 3.10. Docker 官网有安装步骤,本文只是记录 ...

  7. 【运维技术】VM虚拟机上使用centos7安装docker启动gogs服务教程【含B站视频教程】

    VM虚拟机上使用centos7安装docker启动gogs服务视频教程 BiliBili视频教程链接飞机票,点我 使用VMware Workstation安装Centos7 MinMal系统 第一步: ...

  8. Docker进阶之四:centos7安装docker

    centos7.6 安装docker 参考:https://docs.docker.com/install/linux/docker-ce/centos/ 一.存在老版本先删除 yum remove ...

  9. 详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程

    由于项目的需要,我们在很多软件配置环境中需要用到Docker容器,这个时候我们可以用自己的VPS主机搭建.在这篇文章中,笔者将会利用Ubuntu 16.04系统环境安装Docker CE容器的过程.如 ...

  10. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

随机推荐

  1. mac安装phpmysql

    1.百度搜“phpmadmin”,还是一样,第二个因为是PC版本,不能用,点击第一个连接,去phpmyadmin的官网. 2.下载完毕后,进入到下载文件保存目录,双击压缩包,压缩包则会自动解压. 3. ...

  2. 慎用String.intern()作为synchronized的对象锁

    https://www.cnblogs.com/yhlx/p/3498387.html

  3. Matlab获取文件夹下所有文件名并将数据按矩阵赋值给变量

    一.获取一个文件夹下所有文件名: fileFolder=fullfile('D:\MATLAB\bin\trc'); dirOutput=dir(fullfile(fileFolder,'*.trc' ...

  4. DPDK 网络加速在 NFV 中的应用

    目录 文章目录 目录 前文列表 传统内核协议栈的数据转发性能瓶颈是什么? DPDK DPDK 基本技术 DPDK 架构 DPDK 核心组件 应用 NUMA 亲和性技术减少跨 NUMA 内存访问 应用 ...

  5. java配置SSM框架下的redis缓存

    pom.xml引入依赖包 <!--jedis.jar --> <dependency> <groupId>redis.clients</groupId> ...

  6. intellij idea如何将web项目打成war包

    1.点击[File]->[Project Structure]菜单(或使用Shift+Ctrl+Alt+S快捷键),打开[Project Structure]窗口.如下图: 2.在[Projec ...

  7. 连接服务器VNC

    1,启动vnc vncserver 2,提示输入密码 3,Would you like to enter a view-only password (y/n)?  选择n 4,会生成一个端口号 5, ...

  8. Performance Analysis of Logs (PAL) Tool

    Performance Analysis of Logs (PAL) Tool 背景 在众多的独立项目中,我们如何快速了解数据库(SQL Server)服务器的性能,以及数据库的基线情况是怎样的,或者 ...

  9. excel怎么设置密码保护?Excel文件添加密码保护教程

    excel怎么设置密码保护?Excel文件添加密码保护教程 众所周知,Excel具有强大的数据处理和数据分析能力,广泛应用于加工学统计及金融统计中.特别是金融统计需要较高的安全性,那么就一定要为Exc ...

  10. 前端学习(一) body标签(下)

    今日主要内容: 列表标签 <ul>.<ol>.<dl> 表格标签 <table> 表单标签 <fom> 一.列表标签 列表标签分为三种. 1 ...