首页 > 其他分享 >1008.Django项目用户功能之docker

1008.Django项目用户功能之docker

时间:2023-05-31 18:22:56浏览次数:33  
标签:容器 -- mysql Django 挂载 1008 镜像 docker

docker跟virtualbox一样:是一个虚拟软件,可以创建多个程序的运行环境。

docker与virtualbox的差别:docker不会虚拟出自己的内核,而是直接使用宿主机的内核。

为什么要用docker? 

集群:分布式相关的环境使用和部署

mysql长沙  mysql北京  mysql上海  数据同步,可以相互提供数据服务,而一旦某一个地方服务器崩溃,例如上海服务器崩溃了,那么可以从其他地方的服务器提供数据服务。

mysql分布式集群

那在需要多环境开发,需要多台服务器时,就可以用doeker构建各种分布式开发环境。

Docker

开源的应用容器引擎,容器是完全使用沙箱(网络编程虚拟执行环境)机制,相互之间是不会有任何接口,独立的。

1. 帮助我们构建构建多个各种的开发环境,让我们进行开发和测试

2. 容器里面的文件,同步到本地不需要像virtualbox那样下载并配置等

Docker组成

1. 镜像image--镜像是一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,可以通过镜像创建多个容器服务;

2. 容器container--利用容器技术,独立运行一个或者一组应用,通过镜像来创建的;

3. 仓库--存放镜像的地方,分为公有仓库和私有仓库,Docker Hub(默认是国外的)。

Docker特点:

1. 轻便--容器内应用直接运行在宿主机的内核,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了;

2. 快捷--让应用可以更快速的交付和部署;

3. 隔离--每个容器是相互隔离的,每个容器内都有一个属于 自己的文件系统,相互影响;

4. 高效--更高效的计算资源利用,在同一硬件上运行更多工作负载。

Docker安装与卸载

安装:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun     参考:https://www.runoob.com/docker/ubuntu-docker-install.html

测试是否安装成功:sudo docker version  查看docker信息

卸载--删除安装包:sudo apt-get purge docker-ce

卸载--删除镜像、容器、配置文件等内容:sudo rm -rf /var/lib/docker

阿里云镜像加速:登录阿里云找到容器服务,找到镜像工具里面的镜像加速器,配置使用,参考:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

镜像

su root 切换值root用户,在运行docker run hello-world,即可创建并运行hello-world镜像

1. 列出镜像

① 前提--有对应的镜像才可以创建对应的容器

②新建容器并启动 docker run [可选参数] image --name:容器名称 -d:后台运行 -it:使用交互方式运行,并进行容器 -p: ip:主机端口以及容器端口

示例: docker run -it nuuntu /bin/bash

docker images  [ -a/-aq  ]当前运行的docker镜像list

2. 查找镜像

docker search  dockername  可查看官方对应dockername所有镜像以及下载量信息

NAME 镜像名   DESCRIPTION 镜像的描述   OFFICIAL  是否docker官方发布  STARS 类似Github里面的start,表示点赞,喜欢的意思  AUTOMATED:自动构建

3. 拉取镜像

docker pull mysql    直接下载罪行版本的mysql,其他镜像同样方式

docker pull mysql:5.7 拉取5.7版本的mysql

4. 删除镜像

docker rmi -f  dockername/IMAGE ID   删除对应的镜像

docker rmi -f  'docker images -ap'  删除所有镜像

容器

1. 创建容器

docker run [可选参数] 搜索创建镜像    可选项:--name:容器名称   -d:后台方式运行   -i:交互式操作   -t:终端   -p:制定容器的端口

docker run -it ubuntu /bin/bash     

要退出终端,直接输入exit退出。

2. 查看容器

docker ps  查看正在运行的容器

docker ps -a  查看所有的容器

docker ps -n=1 查看最近的n个容器

docker ps -aq  查看所有容器的id

3. 启动停止进入

docker start 容器id   启动

docker restart 容器id  重启

docker attach 容器id  从容器退出,并停止容器

docker exec -it 容器id  容器command   从容器退出,但容器并不退出

docker stop 容器id    停止容器,暂停,内存还在

docker kill  容器id    干掉容器,内存释放

docker top 查看容器的进程

4. 删除容器

docker rm 容器名/id   删除某个容器

docker rm -f  ‘[sudo] docker ps -aq’    删除所有容器

docker ps -aq | xargs sudo docker rm -f    删除所有容器

主机与容器文件传输

docker cp  容器要传输文件的地址:主机地址         主机上传到容器,对调一下即可 

docker cp  主机地址:容器要传输文件的地址   

容器数据卷

1. 概述

如果数据都在容器中,那么我们容器删除,数据就会丢失!  Mysql,容器删除==删库跑路!

需求:数据可以持久化,存储在本地,所有我们需要容器之间可以有一个数据共享的技术,Docker容器中产生的数据,同步到本地!

这就是卷技术!目录的挂载,将我们容器内的目录,挂载到Linux上面。

2. 使用:具名和匿名挂载

具名挂载:docker run 【可选参数】 -v 主机目录:容器目录

docker run -it --name ubuntu01 -v /home/docker/ubuntu02:/home ubuntu /bin/bash   将容器ubuntu在home下的文件挂在主机/home/docker/unubtu2文件夹下

touch test.py    在docker容器中进行文件创建的命令

匿名挂载: -v 容器内路径        比较少用,因为随机的,但可以查询所有挂载信息查询到对应信息 docker inspect 容器名

具名挂载: -v卷名:容器内路径

指定路径挂载: -v 宿主机路径:容器内路径   

3. 查看容器元数据

docker inspect 容器

操作案例

mysql:5.7 镜像挂载操作流程

1. 拉取mysql:5.7

2. 容器mysql01挂载

创建了容器mysql01,将主机文件conf挂载在本机/eec/mysql/conf.d中,data挂载在本机/ver/lib/mysql中,其通过账号为root  密码为qwe123进行访问。

 

 

标签:容器,--,mysql,Django,挂载,1008,镜像,docker
From: https://www.cnblogs.com/lxinghua/p/17446312.html

相关文章

  • Docker常用命令
    原文:Docker常用命令-DeepInThought-博客园(cnblogs.com) 1、Docker容器信息##查看docker容器版本dockerversion##查看docker容器信息dockerinfo##查看docker容器帮助docker--help 2、镜像操作提示:对于镜像的操作可使用镜像名、镜像长ID和短ID。2.1、镜......
  • 通过rpm包安装docker
    一、部署环境配置名称配置详情系统CentOSLinuxrelease7.7.1908(Core)软件版本18.09.8用户角色root二、下载安装1)下载docker安装包下载:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.09.8-3.el7.x86_64.rpm依......
  • Ubuntu修改docker0网桥
    当前情况1.查看当前网桥2.运行容器、查看容器IPdockerrun-d--restart=always--namemynginx-p80:80nginxdockerinspectmynginx|grepIPAddress修改新网桥1.停止dockersystemctlstopdocker#或systemctlstopdocker.socket2.停止删除原网桥doc......
  • docker json日志把服务器磁盘占满,日志清理
    定时任务crontab-l03***root/etc/init.d/clean-docker-log.sh103***root/etc/init.d/cleandocker.sh-脚本[[email protected]]#catclean-docker-log.sh#!/bin/shecho"====================startcleandockercontainerslogs=============......
  • docker网络设置(网桥)
    docker网络设置(网桥)_docker配置桥接网络_逍遥X的博客-CSDN博客https://blog.csdn.net/renfeigui0/article/details/103322661 Networkingoverview|DockerDocumentationhttps://docs.docker.com/network/   翻译搜索复制......
  • fastdfs搭建docker
    一、fastdfs国产分布式文件存储。FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。二、搭建version:......
  • Linux centos 7 离线安装docker
     1.下载docker下载地址:https://download.docker.com/linux/static/stable/选择服务器架构 2.查看服务器架构 uname-a 3.上传下载文件到服务器并解压tar-zxf文件4.拷贝docker文件值/usr/bincpdocker/*/usr/bin/5.进入/etc/systemd/system/目录,并创建dock......
  • docker evel=error msg="error reading the kernel parameter net.ipv4.vs.expire_nod
    我使用的是dockerswarm-#报错evel=errormsg="errorreadingthekernelparameternet.ipv4.vs.expire_nodest_conn"error="open/proc/sys/net/ipv4/vs/expire_nodest_conn:nosuchfileordirectory"-#查看是否开启ip_vslsmod|grepip_vs==============......
  • dockerfile镜像私有仓库需要https登录验证改成http
    ERROR:failedtodorequest:Head"https://192.168.16.185:8088/v2/jenkins/python_common_api/manifests/base":http:servergaveHTTPresponsetoHTTPSclientDockerfile:1--------------------1|>>>FROM192.168.16.185:8088/jenkins/p......
  • Gym - 100851J [随机+01集合]
    题目链接:https://vjudge.net/problem/Gym-100851J 解题思路:出题故意不给501次,就是要让我们去随机找出值为n/2的串,每次最坏的情况随机一个串值是n/2的概率是:约等于0.022。那我们随机400不中的概率是 = 0.000309336,概率非常低,所以几乎是可以找到的。找到之后s串后,同时改变0和i......