前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos7中Docker应用部署迁移与备份以及Dockerfile

Centos7中Docker应用部署迁移与备份以及Dockerfile

原创
作者头像
帅的一麻皮
修改2020-03-09 11:13:05
1.5K0
修改2020-03-09 11:13:05
举报
文章被收录于专栏:前端与Java学习

1.MySQL部署

(1) 拉去mysql镜像

代码语言:javascript
复制
docker pull centos/mysql-57-centos7

(2) 创建容器

代码语言:javascript
复制
docker run -di --name=tensquare_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7

注意

-p:代表端口映射,33306是宿主机的端口,3306是容器的端口,这样我们就可以通过33306这个端口去操作容器中的mysql

-e:代表添加环境变量MYSQL_ROOT_PASSWORD是root用户的登录密码,通过这个密码去连接mysql

(3) 进入mysql容器

代码语言:javascript
复制
docker exec -it tensquare_mysql /bin/bash

(4) 登录mysql

代码语言:javascript
复制
mysql -u root -p

(5) 远程登录mysql

连接宿主机的IP,指定端口为33306

远程连接
远程连接

这样我们就通过docker部署mysql成功了。

2.tomcat部署

(1)拉去镜像

代码语言:javascript
复制
docker pull tomcat:8-jre8

(2)创建容器

创建容器 -p表示地址映射

代码语言:javascript
复制
docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:8-jre8

-v:目录挂载

这个时候我们去访问9000端口是访问不到的,因为目录挂载webapps下是空的,所以我们要往里面放项目就可以访问其中的内容了。

3.Nginx部署

(1)拉去镜像

代码语言:javascript
复制
docker pull nginx

(2)创建Nginx容器

代码语言:javascript
复制
docker run --di --name=mynginx -p 80:80 nginx

4.Redis部署

(1)拉取镜像

代码语言:javascript
复制
docker pull redis

(2)创建Nginx容器

代码语言:javascript
复制
docker run -di --name=myredis -p 6379:6379 redis

5.迁移与备份

5.1.容器保存为镜像

代码语言:javascript
复制
docker commit mynginx mynginx_i

5.2.镜像备份

我们可以通过以下命令将镜像保存为tar文件

代码语言:javascript
复制
docker save -o mynginx.tar mynginx_i

5.3.镜像恢复与迁移

首先我们先删除掉mynginx_img镜像 然后执行此命令进行恢复

代码语言:javascript
复制
docker load -i mynginx.tar

-i:输入的文件

执行后再次查看镜像,可以看到镜像已经恢复

6.Dockerfile

6.1.什么是Dockerfile

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用基于基础镜像并最终创建一个新的镜像。

1、对于开发人员,可以为开发团队提供一个完全一致的开发环境。

2、对于测试人员,可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作

3、对于运维人员,在部署时,可以实现应用的无缝移植。

6.2.常用命令

6.2.使用脚本构建镜像

步骤:

(1)创建目录

代码语言:javascript
复制
mkdir -p /usr/local/dockerjdk8

(2)下载jdk-8u121-linux-x64.tar.gz并上传到服务器(虚拟机)中的/usr/local/dockerjdk1.8目录

(3)创建文件Dockerfile vi Dockerfile

代码语言:javascript
复制
FROM centos:7
MAINTAINER itluoshuai
WORKDIR /us
RUN mkdir /usr/local/java
ADD jdk-8u121-linux-x64.tar.gz /usr/local/java/

ENV JAVA_HOME /usr/local/java/jdk1.8.0_121
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

(4)执行命令构建镜像

代码语言:javascript
复制
docker build -t='jdk1.8' .

注意:后面的空格和点不要省略

(5)查看镜像

代码语言:javascript
复制
docker images

7.Docker私有仓库

7.1私有仓库搭建与配置

(1) 拉取私有仓库镜像

代码语言:javascript
复制
docker pull registry

(2) 启动私有仓库容器

代码语言:javascript
复制
docker run -di --name=registry -p 5000:5000 registry

(3) 打开浏览器输入http://主机地址:5000/v2/_catalog看到{"repositories:[]"}表示私有仓库搭建成功并且内容为空

(4) 修改daemon.json

代码语言:javascript
复制
vi /etc/docker/daemon.json

添加以下内容,保存退出

代码语言:javascript
复制
{"insecure-registries":["主机地址:5000"]}

此步用于让docker信任私有仓库地址

(5) 重启docker服务

代码语言:javascript
复制
systemctl restart docker

7.2镜像上传至私有仓库

(1) 标记此镜像为私有仓库的镜像

代码语言:javascript
复制
docker tag jdk1.8 主机地址:5000/jdk1.8

(2)上传标记的镜像

代码语言:javascript
复制
docker push 私服地址:5000/jdk1.8

(3) 当我们再打开浏览器输入http://主机地址:5000/v2/_catalog 时可以看到{"repositories":["jdk1.8"]}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.MySQL部署
  • 2.tomcat部署
  • 3.Nginx部署
  • 4.Redis部署
  • 5.迁移与备份
    • 5.1.容器保存为镜像
      • 5.2.镜像备份
        • 5.3.镜像恢复与迁移
        • 6.Dockerfile
          • 6.1.什么是Dockerfile
            • 6.2.常用命令
              • 6.2.使用脚本构建镜像
              • 7.Docker私有仓库
                • 7.1私有仓库搭建与配置
                  • 7.2镜像上传至私有仓库
                  相关产品与服务
                  云数据库 SQL Server
                  腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档