前言

这是我第一次使用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. Centos7卸载nginx及php、php-fpm方法

    Centos7卸载nginx及php.php-fpm方法 2016年12月01日 18:17:22 阅读数:20824 本文环境:Centos7.yum方式安装的nginx和php.php-fpm 之 ...

  2. Kotlin中单例Singleton模式

    package loaderman.bar class Singlenton private constructor(){ public var value:Singlenton?=null priv ...

  3. Android四层体系架构

    Application应用层 应用是用Java语言编写的运行在虚拟机上的程序,即图中最上层的蓝色部分.手机的上层应用其实,Google最开始时就在Android系统中捆绑了一些核心应用比如e-mail ...

  4. Kafka offset机制

  5. Python-sympy科学计算与数据处理(数学表达式)

    数学表达式 from sympy import * 1/2+1/3 S(1)/2+1/S(3) Out[4]: 5/6 Rational(5,10) Out[5]: 1/2 x,y = symbols ...

  6. 【Flink】flink执行jar报错:java.io.IOException: Error opening the Input Split file 或者 java.io.FileNotFoundException

    报错内容 flink执行jar时,报如下错误: org.apache.flink.client.program.ProgramInvocationException: Job failed. (Job ...

  7. python-Web-数据库-mysql

    概念: 服务器->数据库管理系统(软件)->数据库(文件夹)->表(文件) 关系型 安装与配置: >>>下载-安装-环境变量 >>>启动 mysq ...

  8. loadrunner脚本因为没有token报错

    目录 场景 解决过程 解决方案 总结 场景 用loadrunner11录制脚本,处理后回放,加上检查点,报错找不到检查点对应的内容,去掉检查点,没有报错,但是打开页面没有该操作的痕迹.手动在页面上操作 ...

  9. PJzhang:如何缓解Mimikatz从Windows2008 R2内存中读取域控密码?

    猫宁!!! 参考: https://xz.aliyun.com/t/4180 https://www.anquanke.com/post/id/156299 https://www.cnblogs.c ...

  10. 架构模式: 客户端 UI 构建

    架构模式: 客户端 UI 构建 上下文 您已应用微服务架构模式.服务由业务能力/面向子域的团队开发,这些团队也负责用户体验.一些UI屏幕/页面显示来自多个服务的数据.例如,考虑亚马逊风格的产品详细信息 ...