今日内容概要

  • 服务部署
  • 迁移与备份
  • dockerfile
  • 私有仓库

内容详细

1、服务部署

# 装 mysql  redis ---》源码编译安装--》启

# 有了docker后,容器操作系统+软件---》拉取一个redis镜像---》运行起来---》容器里就有 redis服务了---》做好端口映射---》就相当于在宿主机上装了个虚拟机,虚拟机里装了个redis # redis的部署
-如果本地没有这个镜像---》运行镜像---》会先拉取--》然后在运行
docker pull redis -容器中的redis运行时候,有配置文件,用我写的配置文件,-v 映射 (宿主机写个配置文件,让容器中的redis用) -redis运行产生数据--》放在容器中--》容器删除数据就没了---》数据映射到宿主机-->以后删了容器,数据还在---》只要再启动起一个容器---》做好目录映射,数据自然都在了 ### 这个,数据目录没有映射出来,配置文件使用容器默认的---》但是这种不用
docker run -di --name=myredis -p 6379:6379 redis ##### 操作流程
# 第一步:启动容器,名字叫 redis_6379,配置文件自己写,数据目录映射出来,两个目录映射:配置,数据目录,运行容器的时候,执行 redis-server /etc/redis/redis.conf 配置文件
docker run -id -p 6379:6379 --name redis_6379 -v /root/s20/redis.conf:/etc/redis/redis.conf -v /root/s20/data:/data redis redis-server /etc/redis/redis.conf docker logs 容器名字 # 查看容器日志 # 第二步:远程连接redis
-存入数据
bgsave # 第三步:删除容器
docker rm id号 # 第四:再启动reddis
docker run -id -p 6379:6379 --name redis_6379 -v /root/s20/redis.conf:/etc/redis/redis.conf -v /root/s20/data:/data redis redis-server /etc/redis/redis.conf ######### mysql 部署
docker pull mysql:5.7 # -e 是环境变量---》容器运行时传入,看文档才知道有哪些参数
# 使用了默认配置,把数据目录映射出来
# root用户默认不允许远程登陆
docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 # 进去授权 允许远程登陆
grant all privileges on *.* to 'root'@'%' identified by 'Lqz12345?'; # 配置文件用宿主机的,数据目录映射出来到宿主机
# mysql的配置文件 自行创建配置文件 my.cnf
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000 # 运行容器
docker run -di -v /root/s20/mysql/data/:/var/lib/mysql -v /root/s20/mysql/conf.d:/etc/mysql/conf.d -v /root/s20/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 # nginx部署
docker pull nginx
docker run -di --name=mynginx -p 80:80 nginx

2、迁移与备份

# python容器--》装了django   容器反打包成镜像

# 把容器做成镜像
docker commit 容器名字 镜像名字
docker commit django django2.2.2 # 镜像打包成压缩包
docker save -o django2.2.2.tar django2.2.2 # cp给别人---》释放成镜像---》运行起容器
docker load -i django2.2.2.tar

3、dockerfile 应用

# 把容器打包成镜像---》压成压缩文件--》复制给别人---》压缩包很大--》速度慢

# 特别轻量级的方式,可以构建出镜像来,把一个特别小的文件复制给别人,别人一运行就有了镜像

# 它就是一个固定的 Dockerfile  文件,里面写了一些命令
# 通过 docker build -t='django2.0' . 把这个文件构建成镜像 ### dockerfile的命令
FROM image_name:tag # 定义了使用哪个基础镜像启动构建流程
MAINTAINER user_name # 声明镜像的创建者
ENV key value # 设置环境变量 (可以写多条)
RUN command # 是Dockerfile的核心部分(可以写多条)
ADD source_dir/file dest_dir/file # 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
source_dir/file dest_dir/file # 和ADD相似,但是如果有压缩文件并不能解压
WORKDIR path_dir # 设置工作目录 # Dockerfile演示
FROM python:3.8.13
MAINTAINER lqz
ENV pwd 123
RUN pip install django==2.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN mkdir lqz
ADD ./redis.conf /home/redis.conf
WORKDIR /home # 工作路径是哪 docker build -t='django2.2.2' . # 创建镜像

4、私有仓库

# docker pull 都是从hub.docker.com 拉的

# 我们公司自己做的镜像,在上面没有---(我可以传上去,不安全)

# 自己搭建私有仓库
https://www.cnblogs.com/liuqingzheng/p/16315254.html

docker服务部署、迁移与备份、dockerfile、私有仓库的更多相关文章

  1. CentOS7 docker服务部署

    以下命令可以在root身份下保存为shell脚本直接bash一次性执行 参考: https://yeasy.gitbooks.io/docker_practice/install/centos.htm ...

  2. 定期从Docker上部署的MySQL备份数据

    前段时间公司停电,正巧赶上周一领导要开会要过一遍项目,然而项目所依赖的MySQL数据库是直接部署在宿主机,且因为各人部署方式不同的原因,花了很久才在开会前启动起来.于是开完会后,我第一件事就是把原先依 ...

  3. docker学习(8) 在mac机上搭建私有仓库

    docker的私有仓库类似maven的私服,一般用于公司内部搭建一个类似docker hub的环境,这样上传.下载镜像速度较快,本文将演示如何在mac上利用docker-machine搭建无需SSL证 ...

  4. Docker容器化【Dockerfile编写&&搭建与使用Docker私有仓库】

    # Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...

  5. docker swarm overlay stack 服务部署记录

    项目xxx(后端),xxx-ui前端(前后端分离的项目) 依赖mysql,elasticsearch.分别制作了四个镜像来做这件事.希望可以制作跨主机的部署,使用了swarm,以下是学习记录. 参考 ...

  6. Docker私有仓库与Harbor部署使用

    Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...

  7. docker部署mysql,nginx,php,并上传镜像到私有仓库

    前言 最近公司准备把现有环境全部搞成容器化,所以笔者就先了解了一下docker,并搞了一搞,并把自己搞的过程记录下来.话不多说直接开干 环境说明 Centos7 Docker version 18.0 ...

  8. docker 私有仓库简易搭建

    概要 本地私有仓库 局域网私有仓库 总结 概要 docker hub 使用非常方便,而且上面有大量的镜像可以使用. 但是,每次都远程下载镜像速度非常慢,如果能在本地做一个 docker 的仓库,多人协 ...

  9. 企业级Docker私有仓库Harbor

    一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docke ...

随机推荐

  1. 记一个ios滚动穿透问题

    直接上代码 <body style="overflow: hidden;-webkit-overflow-scrolling: touch;"> <div id= ...

  2. OllyDbg---比较、条件跳转指令

    比较和条件跳转 CMP 比较两个操作数,相当于SUB指令,但是相减的结果不保存到第一个操作数,而是根据相减的结果来改变零标志位.当两个操作数相等时,零标志位Z置为1. 两个操作数不相等时,零标志位Z被 ...

  3. Spring的事务控制-基于注解的方式

    模拟转账操作,即Jone减少500,tom增加500 如果有疑问请访问spring事务控制-基于xml方式 1.创建数据表 2.创建Account实体类 public class Account { ...

  4. LC-844

    给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符. 注意:如果对空文本输入退格字符,文本继续为空. 示例 1: 输入:s = &qu ...

  5. CPU乱序执行问题

    CPU为了提高执行效率,会在一条指令执行的过程中(比如去内存读数据,读数据的过程相较于CPU的执行速度慢100倍以上,cpu处于等待状态),这个时候cpu会分析接下来的指令是否正在执行的指令相关联,如 ...

  6. kali下安装docker

    前期准备 物理机:win10 虚拟机:kali 2021 网络连接方式:桥接 一.简介 Vulhub: 是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译.运行一个完整的漏洞 ...

  7. 如何使用phpstudy搭建sqli-lab靶场

    一.环境准备 下载并安装phpstudy,链接如下: phpstudy下载 选择自己想要的版本,安装目录自己选,其他的一路默认即可 二.下载源码 源码链接:sqli-labs源码下载 选择Downlo ...

  8. ViewFlipper 简单应用

    AdvserView.java package com.earen.viewflipper; import android.content.Context; import android.graphi ...

  9. [AcWing 822] 走方格

    点击查看代码 #include<iostream> using namespace std; int n, m, ans = 0; void dfs(int x, int y) { if ...

  10. 『现学现忘』Git基础 — 20、Git中忽略文件补充

    目录 1.忽略文件常遇到的问题 2.忽略文件配置优先级 3.忽略已跟踪文件的改动(本机使用) 4.autocrlf和safecrlf参数说明 (1)提出问题 (2)autocrlf说明 (3)safe ...