前言

这是我第一次使用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. [Mybatis]执行一句Sql返回一个List<String>

    在Mapper.xml如下书写SQL文,其中 resultType告知MyBatis返回的类型: <select id="selectExpiredDate" resultT ...

  2. 图解Python 【第一篇】:Python基础1

    本节内容一览图 一.Python简介  Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间, ...

  3. nodejs获取常见疾病数据示例

    日常生活中有一些常见的疾病,这个可以通过百度等搜索到,但是如果你要完成一款app或者小程序.网站之类的该如何来获取常见疾病的信息呢?首先想到的是通过爬虫爬取数据,然后整理搜索....其实这种方法还是太 ...

  4. 用python读取csv信息并写入新的文件

    import csv fo = open("result.txt", "w+") reader = csv.reader(open('test.csv')) f ...

  5. Jmeter使用实践- 基础介绍

    Jmeter使用实践- 基础介绍 随着市场上推出越来越多的测试工具,大家使用起来也比较盲目,就我个人而言,使用过LoadRunner和Jmeter 很多人倾向于LoadRunner,因为LR的功能更强 ...

  6. MongoDB 有关实体映射具体应用及对查询的影响

    1 创建实体的时候,可以用注解@Document 对实体进行设置,指定集合名字 /** * */ package com.cfj.ceshi.entity; import org.springfram ...

  7. Spring-Kafka —— KafkaListener禁止自启动

    应用服务启动时,KafkaListener默认会自动启动进行消费,如果想不自动消费,可以设置AutoStartup属性值为false @Override @KafkaListener(id = Con ...

  8. 微信小程序添加卡券到微信卡包,使用wx.addCard()方法传参及整体流程

    一.准备: 1.经微信认证过的微信公众号. 2.经微信认证过的微信小程序号. 先来看看微信小程序官方的文档,https://developers.weixin.qq.com/miniprogram/d ...

  9. 《精通并发与Netty》学习笔记(02 - 服务端程序编写)

    上节我们介绍了开发netty项目所必需的开发环境及工具的使用,这节我们来写第一个netty项目 开发步骤 第一步:打开https://search.maven.org 找到netty依赖库 第二步:打 ...

  10. 在windows系统电脑上同时安装python2.x和python3.x版本

    在同一个电脑机子(windows系统)上安装同时安装python2.x和python3.x版本. 一.python2.x和python3.x安装 步骤1:在python官网(https://www.p ...