centos安装docker及docker-compose

在vbox中建立系统与项目线上相同的环境

参照官网文档(资料1)安装步骤, step2不一样.

step1

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

step2

tip: 官方的yum源地址安装下载时非常慢

sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

step3

sudo yum-config-manager --enable docker-ce-edge

step4

sudo yum install docker-ce

step5

yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-<VERSION STRING>
sudo systemctl start docker
sudo docker run hello-world

docker-compose

Tip: 加速版安装参考[资料3], 官方版参考[资料4]

curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

相关资料

资料1-Get Docker CE for CentOS
资料2-CentOS 安装 Docker CE
资料3-安装 Docker Compose
资料4-Install Compose

docker使用一段时间后磁盘(硬盘)资源消耗问题

线上使用docker部署服务已经有一段时间了, 目前看来还很稳定正常. 但是磁盘被docker占去了很大的资源, 全部docker镜像加起来也不过几个G而已 但是通过df查看到系统的磁盘已被docker占用28G了.

需要解决的问题

  1. 如何释放空间? 为什么docker使用会不断的占用硬盘空间?
  2. 在清理释放docker文件时候是否会影响当前运行的服务?

通过下面排查-结论

目前上面两个问题暂时不需要处理, 消耗磁盘空间和docker没有关系[资料2]也是和docker没太大关系.

继续阅读

gitlab-docker

EnvVer(环境服务版本)

  • Mac 10.13.1
  • Docker 18.06.0-ce, build 0ffa825
  • Docker-compose 1.22.0, build f46880f

界面截图

登录页
管理界面

安装部署

step1: iTerm2-窗口下执行下面命令.

sudo docker run --detach \
    --hostname gitlab.test \
    --publish 44301:443 --publish 8001:80 --publish 2201:22 \
    --name gitlab \
    --restart always \
    --volume ~/gitlab/config:/etc/gitlab \
    --volume ~/gitlab/logs:/var/log/gitlab \
    --volume ~/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

step2: 通过docker ps看到状态为(healthy), 时候浏览器访问地址 http://127.0.0.1:8001 这个时候需要设置gitlab-root密码. (chrome密码管理自动生成)

使用体验

启动比较慢, 本地打开管理平台的时候感觉有需要2~3速度上也慢, 不知道在线上跑起来怎么样.

如果项目为私有, 用户属于这个项目权限为Guest无法clone.

hostname 不能为IP. 如何使用IP就会报 ERR_EMPTY_RESPONSE. IP应该也是可以, hostname应该是不能加端口号 eg: –hostname 127.0.0.1:8001

刚创建好的创库没有branche, 需要有权限的用户才可以创建.

相关资料

docker-gitlab方式部署

docker-gitlab方式部署

env

  • mac 10.13.1
  • docker 18.06.0-ce build 0ffa825
  • docker-compose version 1.22.0, build f46880f

部署过程记录-log

开始部署

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 44301:443 --publish 8001:80 --publish 2201:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

error01-执行后报错误

docker: Error response from daemon: Mounts denied:
The paths /srv/gitlab/data and /srv/gitlab/logs and /srv/gitlab/config
are not shared from OS X and are not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.

处理将命令改成下面(因为/srv/gitlab 不在docker中的共享目录中, 查看和配置 Docker -> Preferences… -> File Sharing)

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 44301:443 --publish 8001:80 --publish 2201:22 \
    --name gitlab \
    --restart always \
    --volume ~/gitlab/config:/etc/gitlab \
    --volume ~/gitlab/logs:/var/log/gitlab \
    --volume ~/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

error02-出现错误

docker: Error response from daemon: Conflict. The container name "/gitlab" is already in use by container "aeddc3ded0840b39404b8117d0d95f9c7cff7533cd9f3f582e7415e6991f3ffc". You have to remove (or rename) that container to be able to reuse that name.

因为容器在运行中 name名字不能有重复的, docker stop gitlab && docker rm gitlab 就OK了.

error01的错误修改好后, docker 就可以运行了, 马上访问下http://127.0.0.1:8001 无法打开???

这个时候容器还在启动中docker ps查下状态Up 48 seconds (health: starting), 直到状态变成Up 5 minutes (healthy), 这时再次访问, 就打开了界面. 第一次访问需要设置root密码.

相关资料

gitlab-self

官方文档-GitLab Docker images
在Mac OS X中用Docker部署GitLab

待处理及待测试资料

关于gitlab汉化问题

GitLab快速搭建及中文汉化
快速安装 GitLab 并汉化

docker-gitlab 汉化版-未测试: https://github.com/beginor/docker-gitlab-ce

docker中的PHP如何获取客户端IP

MAC-只能获取容器的IP. 但是Linux上可以获取到客户端的真实IP. (自己测试-在阿里云服务器中docker打印出可以获取客户端的IP-Test-Time: 2018年09月15日15:12:50)

docker-moby-issues

相关资料

Document how to get real remote client ip for service running in container
nginx获取客户端IP实现 根据配置了但无法获取到真实IP
network_mode-docker网络连接方式

Docker所知总结 Docker+Nginx架构详解
获取客户端 IP 好像没有什么用, 可能还需要结合其它的配置

未有答案的相关问题

docker 如何让 Nginx 获取到访问者 IP
nginx 如何获取到访客的真实 IP
docker部署nginx,怎么获取客户访问ip地址
Docker下的lnmp环境如何获取clientIp,和主机Ip

docker安装octobercms

资源准备:

安装步骤:

  1. docker版的composer, 将其仓库地址替换为中国. Dockerfile tip: docker build -t mycomposer .
  2. mkdir ~/laradockProject
  3. cd ~/laradockProject
  4. git clone https://github.com/laradock/laradock.git
  5. cd ~/laradockProject/laradock
  6. cp env-exampl .env
  7. vi .env PP_CODE_PATH_HOST=../myoctober MYSQL_VERSION=5.7
  8. docker-compose build mysql
  9. cd ~/laradockProject/laradock/nginx/sites
  10. cp laravel.conf.example myoctober.conf
  11. vi myoctober.conf server_name myoctober.test; root /var/www;
  12. docker-compose up -d nginx mysql phpmyadmin redis workspace
  13. docker-exec -it laradock_mysql_1 bash
  14. mysql -u root -p root | create database myoctober
  15. 退出数据库, 退出mysql-docker
  16. sudo vi /etc/hosts | add 127.0.0.1 myoctober.test
  17. docker run --rm --interactive --tty --volume $PWD:/app mycomposer create-project october/october myoctober
  18. vi ~/laradockProject/myoctober/config/cms.php ‘disableCoreUpdates’ => true,
  19. cd ~/laradockProject/myoctober
  20. docker run –rm –interactive –tty –volume $PWD:/app mycomposer update
  21. vi ~/laradockProject/myoctober/config/database.php 设置数据库配置信息(user: root pass:root)
  22. 前台: http://myoctober.test 后台: http://myoctober.test/backend/backend/auth/signin 默认用户名: admin 密码: admin

相关资料

composer-安装
官方安装文档-composer
docker-mysql启动错误

2018年08月03日21:26:32 更新 项目移植测试

  1. https://github.com/helloMJW/laradock.git #克隆项目
  2. git chekcout octobercms #切换到分支octobercms
  3. docker-compose up -d nginx mysql workspace #[laradock]目录操作, 启动后laradoct同级目录有myoctober目录.
  4. docker run –rm –interactive –tty –volume $PWD:/var/www composer create-project october/october ./ #[myoctober]目录下操作
  5. docker exec -it laradock_workspace_1 bash # 进入容器中
  6. php artisan october:install #[laradock_workspace_1]容器中操作, octobercms环境及程序安装完成.
  7. vi /etc/hosts 127.0.0.1 octobercms.test #本地HOSTS配置
  8. 首页访问 octobercms.test 后台访问 octobercms.test/backend/backend/auth/signin

win10-docker下载与安装

使用迅雷下载

浏览器下载很慢?

win10安装

正常情况在官网下载完安装包后, 点击安装就OK的.

情况1: 安装完后启动, 出现 No activity detected on VM, aborting 更多
情况2: 出现 外部组件
情况3: hyper-v 安装后重起更新到%97 无法配置完成

处理上面问题:

尝试稳定版和边缘版本都是出现相同情况(win10-企业版)

重装系统win-10专业版本 系统启动后就启用Hyper-v, 与安装docker 启用都正常. 但再次重启后还是会出现上面的情况.

再次重新安装win-10企业版本-安装完毕后, 执行docker安装包提示win10版本太底, win-10 打开windows设置->更新和安全 -> 检查更新 然后安装更新 更新版本后是 10.0.16299.125 再安装docker及启动 正常.

相关资料

资料1