Docker极速构建
Docker极速构建
- Docker极速构建指,使用Docker的镜像快速构建开发环境、功能模块、应用服务。
- 本文会为你介绍一条命令,搭建出你想要的容器。
- 构建过程中,我们会把容器的挂载目录集中放在一起,全文中统一使用
/home/work
做为主目录。 - 主目录
/home/work
可以换成Linux命令中的变量$PWD
意为当前目录。 - 随着技术的发展,Docker越来越火爆,未来可能会进入容器的新纪元。
PHP 容器
docker run -d --name myphp \-p 9000:9000 \-v /home/work/nginx/www/:/usr/share/nginx/html \php:7.2-fpm
启动PHP容器
使用该命令,如果不需要代理解析PHP脚本,可以去掉端口映射
PHP安装扩展需要进入容器内部,PHP扩展的安装:
php 安装 pdo_mysql 扩展
- 进入容器内部运行
docker-php-ext-install pdo_mysql
安装pdo_mysql扩展
php 安装 redis 扩展
- 从官方网站
https://pecl.php.net/package/redis
下载redis扩展包 tar -zxvf redis-5.0.1.tgz && mkdir -p /usr/src/php/ext
解压并创建目录mv redis-5.0.1 /usr/src/php/ext/redis
创建redis文件夹docker-php-ext-install redis
安装redis扩展
php 安装 mongodb 扩展
- 从官方网站
https://pecl.php.net/package/mongodb
下载mongodb扩展包 tar -zxvf mongodb-1.5.5.tgz && mkdir -p /usr/src/php/ext
解压并创建目录mv mongodb-1.5.5 /usr/src/php/ext/mongodb
创建mongodb文件夹docker-php-ext-install mongodb
安装mongodb扩展
- 进入容器内部运行
nginx 容器
docker run -d \--name mynginx \-p 80:80 \-v /home/work/nginx/www/:/usr/share/nginx/html \-v /home/work/nginx/conf/:/etc/nginx/ \nginx
启动nginx容器
mysql 容器
docker run -d \--name mymysql \-p 3306:3306 \-e MYSQL_ROOT_PASSWORD=123456 \mysql
启动MySQL容器
redis 容器
docker run -d \--name myredis \-p 6379:6379 \-v /home/work/nginx/redis/data:/data \redis redis-server --appendonly yes
启动redis容器
mongodb 容器
docker run -d \--name mymongo \-p 27017:27017 \-v /home/work/nginx/mongo/data/db:/data/db \mongo
启动mongodb容器
phpmyadmin 容器
- 官方给出的命令
docker run -d --name myadmin -e PMA_HOST=dbhost -p 8080:80 phpmyadmin/phpmyadmin
docker run -d \--name myadmin \-e PMA_HOSTS=dbhost1,dbhost2,dbhost3 \-e PMA_PORTS=port1,port2,port3 \-p 8080:80 \phpmyadmin/phpmyadmin
- 实际可以使用这种方式
docker run -d \--name myadmin \-e PMA_HOSTS=172.17.0.4,172.17.0.8,127.0.0.1 \-e PMA_PORTS=3306,3306,13306 \-p 9090:80 \phpmyadmin/phpmyadmin
portainer 容器
docker run -d \-p 19000:9000 \--name myportainer \--restart always \-v /var/run/docker.sock:/var/run/docker.sock \-v /home/work/portainer/data:/data \portainer/portainer
启动portainer管理容器,用来管理docker
seafile 容器
- 启动seafile容器搭建私有文件云盘,官方给出来的命令:
docker run -d --name seafile \-e SEAFILE_SERVER_LETSENCRYPT=true \-e SEAFILE_SERVER_HOSTNAME=seafile.example.com \-e SEAFILE_ADMIN_EMAIL=me@example.com \-e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \-v /opt/seafile-data:/shared \-p 80:80 -p 443:443 \seafileltd/seafile:latest
- 自己可以根据需要调整端口
docker run -d --name myseafile \-e SEAFILE_SERVER_LETSENCRYPT=true \-e SEAFILE_SERVER_HOSTNAME=myseafile.com \-e SEAFILE_ADMIN_EMAIL=admin@qq.com \-e SEAFILE_ADMIN_PASSWORD=123456789 \-v /home/work/seafile:/shared \-p 18080:80 -p 443:443 \seafileltd/seafile:latest
gitlab 容器
- 启动gitlab,官方个给出来的命令:
docker run --detach \--hostname gitlab.example.com \--publish 443:443 --publish 80:80 --publish 22: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
- 可以使用简化为:
docker run -d \--hostname gitlab.example.com \-p 443:443 -p 80:80 -p 22:22 \--name fastgitlab \--restart always \-v /home/work/gitlab/config:/etc/gitlab \-v /home/work/gitlab/logs:/var/log/gitlab \-v /home/work/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest
构建数据管理
docker run -d -p 3000:3000 --name grafana grafana/grafana
构建MediaWiki
docker run -d -p 8080:80 --name mediawiki mediawiki
构建vnc
docker run -d -p 6080:80 --name myvnc -e VNC_PASSWORD=12345678 dorowu/ubuntu-desktop-lxde-vnc
构建docker私有云平台
docker run -d -p 5000:5000 --restart always --name registry registry:2
Docker极速构建相关推荐
- 在docker中构建普通java程序_Docker入门-构建第一个Java程序
原标题:Docker入门-构建第一个Java程序 定制镜像 准备一个没有第三方依赖的java web项目,可能参考示例maven结构项目: session-web.war 把该war上传到安装有doc ...
- 使用Docker swarm构建wordpress集群
最近都在忙,久不更新博客了,今天更新下Docker swarm集群和集群容错测试: 1.如下拓扑: 2.环境说明: Master/nfs服务器:192.168.63.217 Worker:192.16 ...
- 追求极简:Docker镜像构建演化史
// Dockerfile.target.alpine 自从2013年dotCloud公司(现已改名为Docker Inc)发布Docker容器技术以来,到目前为止已经有五年多的时间了.这期间Dock ...
- docker 导入镜像_官方下一代Docker镜像构建神器 -- BuildKit
BuildKit是Docker官方社区推出的下一代镜像构建神器--可以更加快速,有效,安全地构建docker 镜像.Docker v18.06已经集成了该组件.BuildKit可用于多种导出格式(例如 ...
- Docker手动构建 nginx+py3+uwsgi环境
Docker手动构建 nginx+py3+uwsgi环境 前述 这里使用的阿里云服务器部署,云服务器ssh登陆成功后,如果几分钟没有操作的话,sshd会自动断开登陆,对于我们来说,在部署软件有时要等很 ...
- Docker教程(四) Docker镜像构建
Docker教程(四) Docker镜像构建 本文链接:https://blog.csdn.net/yuan_xw/article/details/77744272 Docker教程(四) Docke ...
- Dockerfile 文件结构、docker镜像构建过程详细介绍
[Docker那些事]系列文章 Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT指令的区别 构建Docker镜像指南,含实战 ...
- Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目
Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目 前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+ ...
- docker容器构建_我如何容器化构建系统
docker容器构建 构建系统由用于从源代码过渡到正在运行的应用程序的工具和过程组成. 这种过渡还涉及将代码的读者从软件开发人员更改为最终用户,无论最终用户是运营方面的同事还是部署系统的同事. 在使用 ...
最新文章
- 人工智能算法--KNN算法(C++实现)
- NYOJ 801 Haffman编码
- QT-第一个程序 Hello QT , 以及QT creator介绍
- Ubuntu首次登入与在线求助man page总结
- Jerry答网友提问:SAP CRM WebClient UI里的EXT,STRUCT等含义
- linux ntp手动授时,关于我校NTP授时服务的使用说明
- Python实现计算机屏幕任意区域截图
- NSUserDefaults使用
- js正则表达式——数字校验
- python需要excel基础吗_Python实现和Excel基础功能对应关系
- [C#] DBNull、Null和String.Empty的区别
- 使用Java复制文件并在控制台显示文件进度
- scrt设置右键粘贴,选中复制
- IBM X3650 M4 服务器安装 serverguide下载地址 右键用360游览器下载速度很快
- android11 动态设置屏幕旋转方向
- 大话设计模式三之单一职责原则、开放-封闭原则、依赖倒置原则、里氏代换原则
- mysql内核架构_热血江湖mysql内核技术之门派数据库表结构说明
- 脑机接口数据分析工具EEGLAB04---绘制通道光谱图
- logback彩色字符编码说明
- Docker容器---dockerfile简介