我的编程空间,编程开发者的网络收藏夹
学习永远不晚

DOCKER应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

DOCKER应用

https://yq.aliyun.com/articles/40494?spm=a2c4e.11153940.0.0.2e933068PIF5zP

https://yq.aliyun.com/articles/2914?spm=a2c4e.11153940.0.0.722a1571t6wJyy

( windows上安装docker) https://yq.aliyun.com/articles/698007?spm=a2c4e.11153940.0.0.2e933068PIF5zP

1、docker怎样做数据备份,怎样防止容器崩溃导致数据丢失?

Docker的特性,决定了容器本身是非持久化的,容器被删除后其中的数据也一并被删除了。Docker提供数据卷(Volume),通过挂载宿主机上的目录来实现持久存储。

但在集群环境中,宿主机上的数据卷有很大的局限性

  • 容器在机器间迁移时,数据无法迁移
  • 不同机器之间不能共享数据卷

为了解决这些问题,阿里云容器服务提供第三方数据卷,将各种云存储包装成数据卷,可以直接挂载在容器上,并在容器重启、迁移时自动重新挂载。目前支持ossfs和云盘两种存储。
二所数据库应用使用 宿主机上的数据卷满足要求。

2、不同内核Dockers的应用

现在Docker只能运行在Linux内核的机器上。
所以在Windows或是Mac系统上,需要通过运行Linux的虚拟机来使用Docker服务。
而Docker Toolbox提供了一整套工具,让你在Windows或Mac系统上更快的搭建起这套环境。

Docker Toolbox 组件包括:

  • Docker Client
  • Docker Machine
  • Docker Compose (Mac only)
  • Docker Kitematic
  • VirtualBox

Docker Toolbox 适用于 Mac OS X 10.10.3+ 或 Windows 7 & 8.1。

在Windows安装 docker 有两种选择 :
1、docker for windows
2、docker toolbox
区别:
docker for windows-64位Windows 10、必须开启 Hyper-V
docker toolbox -有virtualbox即可

2.1    DockerToolbox-18.03.0-ce.exe( http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/?spm=a2c4e.11153940.0.0.2e933068PIF5zP)

DOCKER应用

* Kitematic,这是GUI管理Docker的工具

a) 通过迅雷 下载最新 v19.03.5 版本boot2docker.iso, 放到 系统盘用户目录\.docker\machine\cache下,点击Docker Quickstart Terminal 图标来启动 Docker Toolbox 终端,运行后会在Virtualbox中创建一个叫做default的虚拟机,出现 Start interactive shell提示:直接使用docker命令,也可以通过用PowerShell进行虚拟机的管理:

docker-machine ls   // Docker虚拟机的状态

docker-machine create --driver=virtualbox default   // 创建一个Docker虚拟机

docker-machine env default    // 获得虚拟机的环境变量

docker-machine env default | Invoke-Expression  // 把当前的PowerShell和虚拟机里面的Docker Linux建立的连接,接下来就可以在PowerShell中使用docker命令.

https://developer.aliyun.com/mirror/docker-toolbox?spm=a2c6h.13651102.0.0.35dd1b11nt3EwC

b)镜像加速win7

https://yq.aliyun.com/articles/65076?spm=a2c4e.11153940.0.0.2e933068PIF5zP

需要设置独立于账号密码的Registry登录密码,便于镜像的上传、下载。( https://cr.console.aliyun.com/cn-hangzhou/new)

针对安装了Docker Toolbox的用户,参考以下配置步骤:

创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。 到PowerShell中去依次执行

docker-machine ssh default sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile 
exit 
docker-machine restart default

重启Docker后就可以用国内的镜像来加速下载了。

c)镜像加速器 CentOS7 

https://yq.aliyun.com/articles/29941?spm=a2c4e.11153940.0.0.393b2a65Q4AbyL

CentOS7 的配置,需要先将默认的配置文件复制出来
/lib/systemd/system/docker.service -> /etc/systemd/system/docker.service
然后再将加速器地址添加到配置文件的启动命令
重启Docker就可以了。

sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service
sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service
sudo systemctl daemon-reload
sudo service docker restart

3、 win7-- virtualbox-- boot2docker--mysql容器 网络梳理

a)mysql(docker容器): //mysql   IP:PORT : 172.17.0.2:3306  ,Server version: 8.0.19 MySQL Community Server

    PowerShell进入容器>docker exec -it  c9bb34c9995b bash

                                # mysqladmin -uroot -pabc

                                # mysql -uroot -pabc     //进入mysql--ok

 问题1)         mysql>GRANT ALL ON *.* TO 'sa'@'%' IDENTIFIED BY 'abc';    //不支持 IDENTIFIED BY

                      mysql>GRANT ALL ON *.* TO 'root'@'%' ;  //ok

 问题2)        SQLyog连接报错“ Authentication plugin 'caching_sha2_password' cannot be loaded”, 出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password, 之后是caching_sha2_password,

        mysql>ALTER USER 'root'@'%' identified with mysql_native_password by 'abc'    // 把mysql用户登录密码加密规则还原成mysql_native_password, SQLyog连接OK.

 问题3)(未验证)  使用SQL Manager Lite for MySQL导入二所备份数据库atcdb.back,报错(导出dump也报错):

                Error: ERROR 2026 (HY000): SSL connection error: unknown error number

        mysql> SHOW VARIABLES LIKE '%ssl%';   //查看 have_ssl的值为YES,表示已开启SSL

         修改配置文件my.cnf, 加入内容: skip_ssl ,然后service mysqld restart生效, have_ssl的值为DISABLED,表示已关闭SSL。

导入二所数据库):使用SQLyog,按SQL语句执行 导入OK。 atcdb.back是sql批处理文件。


b)boot2docker: Linux default 4.14.154-boot2docker x86_64

                 docker0:172.17.0.1    

                      eth0:10.0.2.15

                      eth2:192.168.99.100   //netstat -an | grep 3306   //查看所有3306端口使用情况:OK

            vethb40b498: 没有IPv4地址

c)virtualbox: 网卡1:NAT

                     网卡2:VirtualBox Host-Only Network #2  

        ssh管理虚拟机boot2docker:docker-machine ip 获取IP,或查看C:\Users\mizy\.docker\machine\machines\default\config.json

d)win7:VirtualBox Host-Only Network:192.168.56.1

         VirtualBox Host-Only Network #2:192.168.99.1  //ping 192.168.99.100 (OK);netstat -an | findstr 3306 (No)

          无线网络连接:DHCP

docker run -d -p 192.168.99.1:3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=‘abc' mysql:latest    //cannot assign requested IP address

docker run -d -p  192.168.99.100:3306:3306  --name mysql -e MYSQL_ROOT_PASSWORD='abc' mysql:latest    //run OK

docker   rm   $( docker  ps   -a -q)      //     remove删除所有容器

docker run -d --name nginx --volume nginx-vol:/usr/share/nginx/html -p 80:80  nginx:latest  //nginx/html 持久化存储于 boot2docker虚拟机的/var/lib/docker/volumes/ nginx-vol/_data/目录下, _data目录为空则容器拷贝内容,不为空容器不拷贝。自动刷新网页index.htm:添加<head><meta http-equiv="refresh" content="60"></head>   实现通播号实时更新。

4、MySQL容器使用vi   《测试OK》

    MySQL容器没有vi,yum,但是有apt-get。

    a)更换apt源,cat /etc/os-release,查看版本Debian GNU/Linux 10,百度Debian 10 apt国内源:

  echo 'deb http://mirrors.163.com/debian/ buster main non-free contrib
deb http://mirrors.163.com/debian/ buster-updates main non-free contrib# deb http://mirrors.163.com/debian/ buster-backports main non-free contribdeb-class="lazy" data-src http://mirrors.163.com/debian/ buster main non-free contrib# deb-class="lazy" data-src http://mirrors.163.com/debian/ buster-updates main non-free contribdeb-class="lazy" data-src http://mirrors.163.com/debian/ buster-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
deb-class="lazy" data-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib' > /etc/apt/sources.list

    b)apt-get update    //刷新缓存列表

    c)apt-get install vim -y    //安装vim

5、  数据库在CentOS6里的名称是mysql-server

    制作Docker镜像:docker commit rongqi-id phpwing:v1

    修改容器时区重启生效:UTC-->CST         

         cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

6、dockerfile支持自定义容器的初始命令。 dockerfile不能出现交互式的命令。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

DOCKER应用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2024-04-02

Docker swarm如何通过docker-compose部署应用

DockerSwarm是一款集群管理工具,通过Docker-Compose部署应用非常简便。只需创建docker-compose文件,初始化Swarm集群,再通过命令部署应用即可。Swarm具备可扩展性、高可用性、服务发现和编排等优点。最佳实践包括使用stack名称、定义健康检查、使用环境变量、启用日志记录和配置持久存储。
Docker swarm如何通过docker-compose部署应用
2024-04-02

Docker在云原生应用中如何应用

Docker 在云原生应用中扮演着重要的角色,它提供了一种轻量级、灵活和可移植的容器化技术,使得应用程序可以更容易地在不同的环境中部署和运行。以下是 Docker 在云原生应用中的一些常见应用场景:应用部署:Docker 可以将应用程序及其
Docker在云原生应用中如何应用
2024-05-07

docker怎么打包golang应用

今天小编给大家分享一下docker怎么打包golang应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、错误的打包方式在
2023-07-05

skywalking在docker中怎么应用

本文小编为大家详细介绍“skywalking在docker中怎么应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“skywalking在docker中怎么应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。准备工
2023-07-05

docker怎么部署django应用

要部署Django应用程序,可以使用Docker进行容器化。下面是一些步骤:1. 创建Django项目:首先,在本地开发计算机上创建Django项目。确保项目可以在本地正常运行,并且所有依赖项都已安装。2. 创建Dockerfile: 在项
2023-08-16

docker如何部署tomcat应用

要部署Tomcat应用程序,您可以按照以下步骤在Docker中使用Tomcat镜像:1. 首先,您需要安装Docker。请根据您的操作系统在Docker官方网站上下载并安装适用于您的操作系统的版本。2. 下载Tomcat镜像。使用以下命令从
2023-08-17

docker怎么部署go应用

要部署Go应用程序,您可以使用Docker来创建一个镜像并将其部署到容器中。下面是一个简单的步骤:1. 创建一个包含Go应用程序的目录结构。在这个目录下,您应该有一个名为`main.go`的Go源文件,以及其他必要的源代码文件和配置文件。2
2023-08-16

基于 Docker 开发 NodeJS 应用

有关这个 Node 应用 此应用包含一个 package.json, server.js 以及一个 .gitignore 文件, 它们简单到可以信手拈来. .gitignorenode_modules/*package.json{"name
2022-06-04

Docker如何部署SpringBoot应用

这篇文章主要为大家展示了“Docker如何部署SpringBoot应用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Docker如何部署SpringBoot应用”这篇文章吧。前言部署项目时可能会
2023-06-25

docker怎么部署nginx应用

要部署Nginx应用,您可以使用Docker来进行部署。下面是一些步骤可以帮助您完成此过程:1. 首先,您需要安装Docker,可以根据您的操作系统类型选择适当的方法进行安装。2. 创建一个新的目录,用于存储您的Nginx配置文件和相关的静
2023-10-20

docker中如何部署nginx应用

在 Docker 中部署 Nginx 应用通常需要以下步骤:创建 Nginx 配置文件:首先,创建一个 Nginx 配置文件,可以在本地开发环境中进行编辑,包括监听端口、代理设置等。创建 Dockerfile:创建一个 Dockerfile
docker中如何部署nginx应用
2024-04-08

怎么用Docker部署一个Python应用

本文小编为大家详细介绍“怎么用Docker部署一个Python应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Docker部署一个Python应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言在使用
2023-07-02

编程热搜

目录