0
点赞
收藏
分享

微信扫一扫

word导入

幸福的无所谓 2022-06-06 阅读 52

Docker开发环境部署

概述

为了统一开发人员的开发环境,方便开发环境的升级,使用docker镜像的方式维护开发环境

docker容器仓库使用阿里云的仓库docker开发环境使用openresty作为web服务器,支持php5.2、php5.5、php7.1.9 3个php版本

准备工作

docker toolbox工具(Windows环境)

docker toolbox 是一个工具集,它主要包含以下一些内容:

  1. Docker CLI 客户端,用来运行docker引擎创建镜像和容器
  2. Docker Machine. 可以让你在windows的命令行中运行docker引擎命令
  3. Docker Compose. 用来运行docker-compose命令
  4. Kitematic. 这是Docker的GUI版本
  5. Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
  6. Oracle VM Virtualbox. 虚拟机

下载地址:​​http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/​​

下载版本:DockerToolbox-18.03.0-ce.exe

word导入_github

Oracle VM VirtualBox

Win10环境下2.1工具集安装出来的VBox无法兼容,需要到官网下载最新的版本重新安装,下载地址:​​https://www.virtualbox.org/wiki/Downloads​​

img1项目代码包

由于img1项目比较大,拉取花费时间较多,需要找管理员或者相关同事拷贝副本。

Git安装

Windows环境下安装的docker toolbox默认是会安装git,可以选择提前安装或者统一安装。

安装步骤

拉取workspace代码库

使用git拉取workspace代码库,代码库中包含了各类项目的sh脚本以及Docker环境部署的sh脚本,主要是为了后续设置vbox的共享目录做铺垫。(仓库代码没有权限需要找管理员开启)

git命令:git clone ​​http://liyh@47.95.170.137/service/workspace.git​​

安装Docker

Windows

安装Docker Toolbox工具集

根据提示下一步到完成即可,安装完成会生成三个应用图标。(工具集安装会默认安装git

word导入_docker_02

运行Docker Quickstart Teminal

启动终端,过程中会安装boot2docker,下载较慢,需要耐心等待,出现超时或者连接不上问题,详情查看5.4

运行完成如下图:

word导入_github_03

打开Oracle VM VirtualBox,可以看到生成了一个“default”虚拟机

word导入_github_04

虚拟机信息:

default默认虚拟机 tinycorelinux:

默认 IP: 192.168.99.100

默认账号: docker

默认密码: tcuser

提权root使用如下命令: sudo -i

配置共享目录

将本地的workspace目录挂载到docker系统目录中,用于本地开发时同步更新到docker系统环境中。(本地workspace目录要提前生成,详情看3.1操作)

Oracle VM VirtualBox 中选中default镜像,右键,点击设置,选择“共享文件夹”,双击“固定分配”数据栏,配置本机共享文件目录和虚拟机共享文件目录,保存后需要重启虚拟机。

word导入_docker_05

重启虚拟机

VBox软件使用共享目录需要重载内核,因此重启该虚拟机

word导入_github_06

判断共享目录是否挂载成功,重启虚拟机后,用xshell连接虚拟机,根目录下执行ls c/workspace ,查看内容是否是本机E:workspace目录下得内容。

word导入_docker_07

word导入_docker_08

生成docker容器

进入本机workspace/bin目录,执行start.bat脚本。(注意:刚刚配置的虚拟机共享目录名称必须和start.bat脚本中的目录名称一致;脚本第一次运行会去拉取阿里云镜像文件,大约1G左右;可以把需要写到容器里的hosts添加到脚本里,这样不需要每次手动去更改,但是如果后期需要添加,需要删除容器,然后修改你的脚本再运行就可以了

word导入_github_09

word导入_docker_10

执行完成:

word导入_docker_11

参考start.bat脚本:

@echo off

for /f "delims=" %%i in ( ' docker ps -as^| find /i /c "mydocker" ') do set p=%%i

echo %p%


if %p% == 1 (

docker start mydocker

echo "start ok"

) else (

docker run -dt -p 2222:22 -p 80:80 -p 9501:9501 -v /c/workspace/data:/data -v /c/workspace/nginx:/usr/server/openresty/nginx/conf/vhost --add-host exam.51cto.com:127.0.0.1 --add-host bloglocal.51cto.com:127.0.0.1 --add-host openapilocal.edu.51cto.com:127.0.0.1 --add-host edulocal.51cto.com:127.0.0.1 --add-host servicelocal.51cto.com:127.0.0.1 --add-host centerlocal.51cto.com:127.0.0.1 --add-host paylocal.51cto.com:127.0.0.1 --add-host test-server.51cto.dev:192.168.8.98 --add-host test-mysql.51cto.dev:192.168.8.98 --add-host test-inter-db.51cto.dev:192.168.8.98 --name mydocker registry.cn-beijing.aliyuncs.com/51cto/centos:master /usr/local/sbin/run.sh

echo "run ok"

)


echo "ok....."

pause

Linux

安装命令:

yum install docker

apt-get install docke

Mac OS

#官网下载并安装

​​https://www.docker.com/products/docker-desktop​​

安装项目

进入本机的e:\workspace\bin目录下,根据人员负责业务范围,决定执行各自的脚本(blog_bbs_down.shedu.shhome_uc.sh),可以编辑脚本去除不需要的项目。

注意:如果出现克隆ssh通道失败,详情查看5.3解决。

word导入_github_12

学院代码需要composer update(最好使用composer install

cd /data/www/51cto/edu_center

进入虚拟机docker镜像执行

composer update

另外需要设置阿里云镜像(非root用户

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

设置HOST

Windows

打开C:\windows\system32\drivers\etc\host文件,添加IP域名映射

192.168.99.100 bloglocal.51cto.com

192.168.99.100 imglocal.51cto.com

word导入_git_13

Linux

1、vi /etc/hosts

添加IP域名映射,

192.168.99.100 bloglocal.51cto.com

192.168.99.100 imglocal.51cto.com

正常情况下,修改第一步就可以了,如果第一步不行,执行第二步;

2vi /etc/sysconfig/network

设置hostname为你想要的名字;

3、重启服务器。

Mac OS

一、系统偏好设置修改

1打开系统偏好设置,底部有一个Hosts的快捷入口

2输入ip和hostname后,回车确定,勾选改host即可

word导入_docker_14

二、终端命令行修改

sudo vi /etc/hosts

word导入_github_15

1输入本机密码后,打开hosts文件,键盘输入 i (插入),修改hosts文件后,按 esc 键退出,再按shift+:键,再输入w和q,保存退出

2不保存退出,则按q和!键

安装完成

以上docker开发环境就基本安装完成,访问​​http://localblog.51cto.com​​就可以看到本地的博客系统。

word导入_git_16

升级开发环境

由于在系统更新迭代中,容器运行一段时间以后,新增了业务信息,这时候需要对容器进行升级。

清理容器

因为容器运行一段时间之后会带上一些业务的信息,很容易push到容器里,所以不能直接把本地当前的容器打包到镜像中提交,必须要先清理容器,在新的容器中进行升级操作。

停止原容器

docker stop mydocker

开启新的容器

sh bin/start.sh

升级操作

进入容器,然后进行环境升级操作,安装新增组件或者工具等

ssh root@127.0.0.1 -p 2222

打包镜像

docker commit mydocker registry.cn-beijing.aliyuncs.com/51cto/centos:master

提交镜像

将打包的镜像提交到镜像仓库,以便后续同事直接使用

docker push registry.cn-beijing.aliyuncs.com/51cto/centos:master


如果遇到提示没有登录获取权限不够输入:

sudo docker login --username=nieht@51cto.com registry.cn-beijing.aliyuncs.com


密码需要问运维 (密码修改地址: https://cr.console.aliyun.com/cn-beijing/instances/credentials)

安装问题

Docker Quickstart Terminal无法运行,提示找不到快捷方式

如果你的电脑提前安装了Git,在工具集安装的时候取消勾选”Git for Windows”,并且要将安装完成的Docker Quickstart Terminal属性中目标地址中的git地址更改为你实际安装的路径,否则启动该应用的时候会找不到git报错

word导入_docker_17

word导入_docker_18

Oracle VM VirtualBox 无法运行

Win10安装完成后Oracle VM VirtualBox会出现无法运行的提示,这时候需要到官网下载最新的版本重新安装即可,下载地址:​​https://www.virtualbox.org/wiki/Downloads​​

word导入_git_19

word导入_git_20

Git克隆代码ssh通道失败

在git拉取代码的过程中如果出现拉取失败,连接失败的提示,需要将ssh通道改为http通道进行克隆代码。

word导入_git_21

Docker Quickstart Terminal运行过程中git拉取iso文件超时

由于国内访问github的网站速度受限,需要配置两个host地址即可解决

  1. 获取github的global.ssl.fastly地址访问:http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo 获取cdn和ip域名
    获取host配置:199.232.69.194 github.global.ssl.fastly.net
    word导入_docker_22
  2. 获取github.com地址访问:https://github.com.ipaddress.com/#ipinfo 获取cdn和ip
    获取host配置:140.82.113.4 github.com
    word导入_docker_23
  3. 设置host文件配置

140.82.113.4 ​​github.com​​

199.232.69.194 ​​github.global.ssl.fastly.net​​

word导入_git_24

其他

字体

字体北京

Axde

ddddww

  • 无序列表1
  • 二级无序列表1
  • 二级无序列表2
  • 三级无序列表1
  • 三级无序列表2
  • 无序列表2
  • 无序列表3
  • 无序列表4
  • 无序列表5
  1. 有序列表1
  1. 二级有序列表1
  2. 二级有序列表2
  1. 三级有序列表1
  2. 三级有序列表2
  1. 有序列表2
  2. 有序列表3
  3. 有序列表4
  4. 有序列表5

1

2

3

4

1测试

2测试

3测试

4测试

1

  1. 有序列表1
  2. 有序列表2
  3. 有序列表3
  4. 有序列表4

2

  • 无序列表1
  • 无序列表2
  • 无序列表3
  • 无序列表4

3表格图片

word导入_docker_25

5

1

2

3

5



举报

相关推荐

0 条评论