docker容器安装及部署的超详细入门教程

目录
  • 1.安装docker
  • 2.docker 安装 redis
  • 3.docker 安装rabbitmq
  • 4.docker 安装postgresql
  • 5.docker 安装jdk 并配置环境变量
  • 6.停止和删除容器
  • 7.Docker部署SpringBoot项目
  • 总结

1.安装docker

(1)卸载以前安装的Docker容器

sudo yum remove docker \ docker-client \ docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \ocker-engine

(2)安装docker

yum install -y docker

(3)查看docker是否安装成功

yum list installed |grep docker

(4)启动docker服务(并设置开机自启)

systemctl start docker.service
systemctl enable docker.service

(5)查看docker服务状态 running 就是启动成功

systemctl status docker

(6)使用docker镜像

systemctl status docker

(7)配置docker国内镜像(中国科学技术大学)

在宿主机器编辑文件:vim /etc/docker/daemon.json
请在该配置文件中加入(没有该文件的话,请先建一个):
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

(8)最后,需要重启docker服务

systemctl restart docker.service

2.docker 安装 redis

(1)拉取redis镜像

docker pull redis

(2)查看本地镜像

docker images

(3)运行容器

docker run -itd --name redis-test -p 6379:6379 redis

(4)安装成功 查看容器的运行信息

docker ps

(5)连接测试使用 redis 服务

docker exec -it redis-test /bin/bash

(6)退出

exit

3.docker 安装rabbitmq

(1)下载镜像

docker pull rabbitmq:3.7-management

(2)查看镜像

docker images

(3)创建rabbitmq容器

docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.7-management
5672是项目中连接rabbitmq的端口(我这里映射的是5672),15672是rabbitmq的web管理界面端口(我映射为15672) 初始账号:guest 初始密码:guest 

(4)查看容器

docker ps

4.docker 安装postgresql

(1)拉取镜像

docker pull postgres:9.6

(2)启动容器

docker run --name postgres -e POSTGRES_PASSWORD=password -p 5432:5432 -v /usr/postgresql/data:/var/lib/postgresql/data -d postgres
端口映射的是5432
run: 创建并运行一个容器;
--name: 指定创建的容器的名字;
-e POSTGRES_PASSWORD=password: 设置环境变量,指定数据库的登录口令为password;
-p 5432:5432: 端口映射将容器的5432端口映射到外部机器的5432端口;
-d postgres 指定使用postgres作为镜像。
登录的初始用户:postgres 登录的初始密码:password

(3)查看容器

docker ps

5.docker 安装jdk 并配置环境变量

(1)docker下载centos镜像(用作配置jdk环境系统)

docker pull centos  #版本号可以自己加,默认拉取最新的

(2)查看本地镜像

docker images
例如: REPOSITORY 镜像名称;TAG 镜像标签 (后面可用于发布到个人dockerhub上); IMAGE ID 是镜像ID;CREATED 创建时间;SIZE 大小
[root@VM_0_9_centos etc]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              3639174793ba        6 weeks ago         463MB
mysql               latest              990386cbd5c0        7 weeks ago         443MB
centos              latest              9f38484d220f        3 months ago        202MB
hello-world         latest              fce289e99eb9        6 months ago        1.84kB

(3)创建容器

容器是基于镜像创建的,执行镜像生成容器,方可进入容器
启动容器命令: docker run <相关参数> <镜像 ID> <初始命令>
docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash
参数解析
  -i:表示以“交互模式”运行容器
  -t:表示容器启动后会进入其命令行
  -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
  /bin/bash:一旦容器启动,需要执行的命令,当前使用 "/bin/bash", 表示启动后直接进bash shell

  /root/software是宿主机器(Linux)上创建的一个文件夹;

  /mnt/software是centos的容器里面的目录文件

  这里挂载的意思就是 9f38484d220f 创建的容器访问 /mnt/software/ 目录下的文件就相当于访问 宿主机的 /root/software/下的文件,且两者文件夹里内容相同 

(4)退出容器

exit

(5)进入容器后的查看命令

docker ps : 查看当前运行的容器信息(上面的退出方式就会默认关闭容器)
docker ps -a : 查看关闭的容器

(6)启动容器和进入容器

docker start [容器ID]:启动容器
docker exec -it [容器ID] /bin/bash : 进入容器
这里还是以 docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash 命令进入容器

(7)在容器内部安装jdk1.8

下载 jdk的 tar包,通过ftp工具上传到宿主服务器的/root/software/文件下,因为前面做了挂载,所以待会进入docker容器里的/mnt/software/文件夹下也是可以看到的

(8)进入centos容器中的/mnt/software文件夹

docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash  进入容器

cd /mnt/software  进入/mnt/software 

(9)解压

tar -zxvf jdk-8u211-linux-x64.tar.gz

(10)设置java 环境变量,配置profile

vi /etc/profile

在文件末尾加上

JAVA_HOME=/opt/jdk/
JAVA_BIN=/opt/jdk/bin
JRE_HOME=/opt/jdk/jre
CLASSPATH=/opt/jdk/jre/lib:/opt/jdk/lib:/opt/jdk/jre/lib/charsets.jar
export  JAVA_HOME  JAVA_BIN JRE_HOME  PATH  CLASSPATH

使得配置立马有效

source /etc/profile

配置 bashrc

vi ~/.bashrc

在文件末尾加上

export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使得配置立马有效

source ~/.bashrc

(11)查看jdk版本

 java -version

(12) 使用vi命令时 出现vi: command not found 这是因为vim没有安装。 使用如下命令安装

apt-get update
apt-get install vim

6.停止和删除容器

docker stop  容器id 停止容器

docker rm 容器id  删除容器

docker rmi -f 镜像id  删除镜像

docker run -it 容器image /bin/bash 启动容器

7.Docker部署SpringBoot项目

(1)编写Dockerfile文件

# Docker image for springboot file run
# VERSION 0.0.1
# Author: eangulee
# 基础镜像使用java
FROM java:8
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar    demo-0.0.1-SNAPSHOT.jar jar名称
ADD demo-0.0.1-SNAPSHOT.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

解释下这个配置文件: VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。该步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录 项目的 jar 文件作为 “app.jar” 添加到容器的 ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source 如果是第一次打包,它会自动下载java 8的镜像作为基础镜像,以后再制作镜像的时候就不会再下载了。 (2)部署文件 在服务器新建一个docker文件夹,将maven打包好的jar包和Dockerfile文件复制到服务器的docker文件夹下

(3)制作镜像

 cd /root/docker
docker build -t springbootdemo4docker .

注意点 …..

(4)查看镜像

docker images

(5)启动容器

docker run -d -p 8761:8761 springbootdemo4docker

docker run -it springbootdemo4docker /bin/bash

总结

到此这篇关于docker容器安装及部署的文章就介绍到这了,更多相关docker安装部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Docker容器部署Vue程序

    目录 一.安装Nginx 二.创建Vue程序 1.创建项目 2.编译项目 3.添加Dockerfile文件 4.上传文件 5.构建镜像 6.运行容器 一.安装Nginx 我们部署Vue程序依赖Nginx,首先拉取Nginx的镜像,这里使用Nginx最新的镜像 docker pull nginx 如图所示 我们查看镜像 已经有了nginx镜像. 我们根据nginx镜像运行容器 docker run --name=nginx -d -p 4030:80 nginx 如图所示 然后在浏览器里面访问40

  • 在Docker容器中部署MSSQL

    部署MSSQL需要2G内存 1.下载镜像 docker pull microsoft/mssql-server-linux 使用该命令就可以把数据库的docker镜像下载下来. 2.创建并运行容器 docker run --name MSSQL_1433 -m 512m -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux 这个密码需要复杂密码,

  • .Net使用Docker开发部署

    .NET多年以前已经开始支持Docker,但由于国内.net现状,生产过程中几乎用不到docker支持,趁着有点时间捣鼓下. 先期工作 1.首先安装Docker Desktop 2.安装Visual Studio 创建项目 使用VS分别创建一个ASP.NET Core Api(WebApplication1)与 ASP.NET Core 应用(WebApplication2) 如果项目已经存在,可以选中项目,右键点击->选择添加Docker支持. 在弹出对话框中选择Linux. 项目支持dock

  • Docker容器Consul部署概述

    目录 一.Consul概述 二.Consul的特性 三.Consul的使用场景 四.搭建consul集群 (1)server部署 (2)client部署 (3)配置template模板自动更新 (4)测试访问代理服务器 一.Consul概述 template 模板(更新)registrator(自动发现)后端每构建出一个容器,会向registrator进行注册,控制consul 完成更新操作,consul会触发consul template模板进行热更新核心机制:consul :自动发现.自动更

  • 使用Docker容器部署MongoDB并支持远程访问及遇到的坑

    目录 前言 Docker & MongoDB Docker MongoDB 使用Docker部署MongoDB 容器中换源 更改配置 开放端口 前言 由于使用宝塔面板来配置MongoDB的BUG太多,实在受不了,今天心血来潮想要使用Docker容器来进行部署.本来以为也就二三十分钟的事情结果踩坑踩了将近两个小时,不过万幸还是成功部署上了 Docker & MongoDB 在开始讲之前,我们需要知道Docker和MongoDB是什么,虽然这两个工具已经非常流行,但可能还是有读者不知道其详细概

  • Docker容器部署consul的详细步骤

    目录 Consul简介 Consul 使用场景 -consul部署- 容器服务自动加入consul集群 安装Gliderlabs/Registrator Gliderlabs/Registrator 测试服务发现功能是否正常 安装consul-template 安装nginx 配置并启动template Consul简介 Consul 是一个支持多数据中心分布式高可用的 服务发现 和 配置共享 的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public Li

  • Docker容器harbor私有仓库部署和管理

    目录 前言 一.Harbor概述 二.Harbor的特性 三.Harbor的构成 四.Harbor私有仓库搭建 (1)安装docker-compose (2)安装harbor (3)新建项目 (4)镜像推送 (5)从私有仓库下载镜像 (6)Harbor管理 前言 之前我们搭建了本地私有仓库,但是本地仓库的管理和使用比较麻烦,个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化. 一.Harbor概述 Harbor是VMware公司开源的企业级Docker Regist

  • docker容器安装及部署的超详细入门教程

    目录 1.安装docker 2.docker 安装 redis 3.docker 安装rabbitmq 4.docker 安装postgresql 5.docker 安装jdk 并配置环境变量 6.停止和删除容器 7.Docker部署SpringBoot项目 总结 1.安装docker (1)卸载以前安装的Docker容器 sudo yum remove docker \ docker-client \ docker-client-latest \docker-common \docker-la

  • VMware中安装CentOS7(设置静态IP地址)并通过docker容器安装mySql数据库(超详细教程)

    一位读大二的学弟问我怎么安装配置这些,我简单的整了一个教程,这里记录一下,并分享给需要的朋 安装过程学习使用足够,实际工作中有些繁琐的配置略过了! 打开VM虚拟机,菜单栏[文件]-->选择[新建虚拟机],选择"o自定义(高级)"-->[下一步] 默认一直点[下一步]到选择安装盘的位置,选择自己已经下载好的官方DVD镜像文件(不要整别的镜像,避免走不必要 的坑) [下一步]设置虚拟机名称(取一个合适的名称,设置合适的路径) 处理器设置默认,安装好虚拟centos后可以根据情况

  • windows安装部署go超详细实战记录(实测有用!)

    之前我的课程中,关于go语言的安装是主要展示了mac的,windows的就一笔带过了. 结果被我说着了(可能在第一步直接被劝退),好多用windows的小伙伴部署go语言环境各种问题各种坑,网上教程看了个一知半解.没办法,毕竟折腾环境这件事对任何人都是一个不想提起的恶心流程. 为了检验和测试一下windows电脑到底要怎么部署go的开发环境,我决定掏出我的win10台式机来实际记录一下. 1. 打开浏览器,地址栏输入:https://golang.google.cn/dl/ 2. 选择下载的安装

  • docker容器源码部署httpd用存储卷部署网站(推荐)

    目录 docker容器源码部署httpd,用存储卷部署网站 创建一个httpd镜像 部署nfs 挂载 创建容器并映射 访问测试 docker容器源码部署httpd,用存储卷部署网站 创建一个httpd镜像 // 创建一个httpd容器 [root@localhost ~]# docker run -tid --name httpd centos 2d693e16f4f3734b127cbae90d189c1b4e78619a54ceec912a82d96cf4f1c345 [root@local

  • .Net项目在Docker容器中开发部署

    .NET多年以前已经开始支持Docker,但由于国内.net现状,生产过程中几乎用不到docker支持,趁着有点时间捣鼓下. 先期工作 1.首先安装Docker Desktop 2.安装Visual Studio 创建项目 使用VS分别创建一个ASP.NET Core Api(WebApplication1)与 ASP.NET Core 应用(WebApplication2) 如果项目已经存在,可以选中项目,右键点击->选择添加Docker支持. 在弹出对话框中选择Linux. 项目支持dock

  • IDEA 2020 2全家桶安装激活超详细图文教程

    IDEA-2020-2 全家桶激活超详细教程,详细步骤如下所示: 步骤一:  点击安装 步骤二: 进入安装页面, 直接Next 步骤三: 安装可能有两种情况,一种是新电脑刚安装,一种是电脑已安装旧版本,就版本的值需要如下图,就可以直接使用以前的配置,不需要卸载旧版本 如果是新电脑,就可能跳出不一样页面,没有设置存储,只需要如下选择即可 步骤四:选择安装位置 步骤五:创建桌面快捷 步骤六: 点击Install 安装 步骤七: 安装完成 步骤七点五:直接双击桌面快捷启动,弹框选择 步骤八: 然后进行

  • Windows下gradle的安装与配置的超详细教程

    下载gradle 直接百度gradle,然后点击链接进去就可以找到,这里附上下载链接:gradle下载 安装gradle## 解压下载下来的zip压缩包,如图(我下载的是gradle-4.8.1-bin.zip) 链接: https://pan.baidu.com/s/1ovmJMvK9PfJYzd9TioBxzQ  提取码: p3qs 注意:下图中的[jars]目录是我自己创建的,原有的下载下来是没有的. 配置环境变量 右键 "计算机"–"属性"(按照图操作即可)

  • windows安装python超详细图文教程

    一.下载安装包 官网下载:python 3.6.0 打开链接滑到页面最下方 二. 开始安装 1.双击下载好的安装文件python-3.6.0-amd64.exe Install Now :默认安装 Customize Installation:自定义安装 Add Python 3.6 to PATH: 将python 加入环境变量 2.勾选Add Python 3.6 to PATH后,选择Customize Installation自定义安装 3.点击Next进行下一步 Install for

  • IDEA 2020 2全家桶安装激活超详细图文教程

    推荐阅读: 最新idea2020注册码永久激活(激活到2100年) https://www.jb51.net/article/178193.htm IntelliJ IDEA 2020最新激活码(亲测有效,可激活至 2089 年) https://www.jb51.net/article/184631.htm IDEA-2020-2 全家桶激活超详细教程,详细步骤如下所示: 步骤一:  点击安装 步骤二: 进入安装页面, 直接Next 步骤三: 安装可能有两种情况,一种是新电脑刚安装,一种是电脑

  • SpringBoot嵌入式Servlet容器与定制化组件超详细讲解

    目录 嵌入式Servlet容器 1.原理分析 2.Servlet容器切换 3.定制Servlet容器配置 定制化组件 嵌入式Servlet容器 在Spring Boot中,默认支持的web容器有 Tomcat, Jetty, 和 Undertow 1.原理分析 那么这些web容器是怎么注入的呢?我们一起来分析一下 当SpringBoot应用启动发现当前是Web应用,它会创建一个web版的ioc容器ServletWebServerApplicationContext 这个类下面有一个createW

随机推荐