linux docker安装svn,使用docker镜像搭建svn+Apache环境
环境准备
虚拟机装好之后,按照官网步骤检查虚拟机内核版本,必须在3.10以上版本,故此处安装redhat_7.2
# uname -r
3.10.0-327.el7.x86_64
安装docker:
yum install docker-io
有依赖是直接安装具体的依赖软件,解决依赖
docker安装成功,启动docker服务
service docker start
并设置为开机自启动
chkconfig docker on
现在我们需要制作docker镜像,可以通过Dockerfile或者是在现有的镜像上修改之后commit。
此处选择在现有的镜像基础上修改后commit并push到私有镜像库,以方便后期使用。
以下以Apache+svn(搭建svn环境)为例说明docker 镜像的制作build、提交commit、上传push过程
一、获取docker基础镜像
从docker公有库down一个适合自己系统的镜像(我此处down的是centos)
docker pull centos
运行down下来的docker容器:
docker run -it centos /bin/bash
[root@84292236ae90 /]#
进入docker容器,进行svn环境搭建,此处的 84292236ae90 即为你对于centos镜像修改的ID,提交时只需要提交该ID的内容即可。
二、在镜像中安装部署svn+Apache
此处使用yum安装
yum -y install subversion mod_dav_svn httpd
安装成功后,配置初始化svn、用户,权限(此处对于svn环境的搭建不做详细的说明)
配置完成使用exit 退出docker容器
三、重启Apache
为了使得docker容器可以使用宿主机的端口,此处映射宿主机的端口到docker容器
docker -p 参数把虚拟机的80端口映射到容器的80端口;虚拟机的80端口在 Vagrantfile 中被绑定到主机的8080端口,也就是:主机8080->虚拟机80->容器80
sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html custom/httpd /bin/bash
# 启动 Apache
apachectl -k start
[root@bogon svn_apache]# sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html test /bin/bash
[root@84292236ae90 /]# apachectl -k start
Passing arguments to httpd using apachectl is no longer supported.
You can only start/stop/restart httpd using this script.
If you want to pass extra arguments to httpd, edit the
/etc/sysconfig/httpd config file.
[root@84292236ae90 /]# ps -ef|grep httpd
root 18 1 7 18:44 ? 00:00:00 /usr/sbin/httpd -k start
svn 19 18 0 18:44 ? 00:00:00 /usr/sbin/httpd -k start
svn 20 18 0 18:44 ? 00:00:00 /usr/sbin/httpd -k start
svn 21 18 0 18:44 ? 00:00:00 /usr/sbin/httpd -k start
svn 22 18 0 18:44 ? 00:00:00 /usr/sbin/httpd -k start
svn 23 18 0 18:44 ? 00:00:00 /usr/sbin/httpd -k start
root 25 1 0 18:44 ? 00:00:00 grep --color=auto httpd
使用url访问:
四、提交对镜像所做的修改
docker commit -m "Added svn+apache" -a "yayad" 84292236ae90 centos-svn
提交至本地的centos-svn镜像,目前只存在于本机器,为了便于其他机器使用,需要提交至公有库/私有个人库,根据个人选择。
此处我提交至个人私有库:
1.找到本地镜像的ID:docker images
[root@bogon opt]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
firstdocker latest a3062f931635 2 hours ago 342.6 MB
centos-svn latest 4dea4adb699d 2 hours ago 396.4 MB
yayad/centos_svn latest 4dea4adb699d 2 hours ago 396.4 MB
centos latest bb3d629a7cbc 10 days ago 196.6 MB
2.docker tag /:
docker tag 4dea4adb699d yayad/centos_svn
3.push docker镜像到官方的个人私有库
docker push yayad/centos_svn
push时会提示输入库的账号、密码和邮箱,此处需要提前注册docker.hub
push 成功后在个人私有库即可看到push的镜像
此时就可以在其他已经安装docker环境的机器上执行docker pull centos-svn down该镜像并直接使用svn环境,无需再安装配置。
五、让Apache服务在后台自动running
但如何在启动容器的同时自动启动Apache服务,不用再需要手动启动,那么我就只需要在宿主机上监控容器的状态是否running,以下方式即可实现。
1.通过dockerfile 来build
编辑dockerfile
[root@bogon svn_apache]# cat Dockerfile
FROM yayad/centos_svn
ENTRYPOINT apachectl -k start && /bin/bash
build 新image,设置tag为df
[root@bogon svn_apache]# docker build -t yayad/centos_svn:df .
Sending build context to Docker daemon 2.048 kB
Sending build context to Docker daemon
Step 0 : FROM yayad/centos_svn
---> 52561e4f9e39
Step 1 : ENTRYPOINT apachectl -k start && /bin/bash
---> Running in 30cab1c3a861
---> de5ad506e7dc
Removing intermediate container 30cab1c3a861
Successfully built de5ad506e7dc
查看build的image
[root@bogon svn_apache]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
yayad/centos_svn df de5ad506e7dc 11 seconds ago 396.5 MB
启动容器查看配置结果
[root@bogon svn_apache]# docker run -it yayad/centos_svn:df /bin/bash
Passing arguments to httpd using apachectl is no longer supported.
You can only start/stop/restart httpd using this script.
If you want to pass extra arguments to httpd, edit the
/etc/sysconfig/httpd config file.
Passing arguments to httpd using apachectl is no longer supported.
You can only start/stop/restart httpd using this script.
If you want to pass extra arguments to httpd, edit the
/etc/sysconfig/httpd config file.
httpd (pid 9) already running
[root@1dce83066942 /]#
Apache服务已经启动起来了
2.修改容器的bashrc
以bash启动容器:
#docker run -it -p 80:80 -v /vagrant/htdocs:/var/www/html yayad/centos_svn /bin/bash
[root@87da9f94dc08 /]# vim /etc/bashrc
#add by dy 添加到最后
apachectl -k start
若需要可以把修改后的image commit之后使用。
想提及一下的问题:删除本地一些多余的名称为NONE的images,报错,删除失败,使用如下的方式解决了,但具体内在联系还不太清楚
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
docker images|grep none|awk '{print $3 }'|xargs docker rmi
linux docker安装svn,使用docker镜像搭建svn+Apache环境相关推荐
- docker配置python环境_PyCharm使用Docker镜像搭建Python开发环境
在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装.本 ...
- docker安装、部署docker反向代理
1.1 docker介绍 https://www.cnblogs.com/xiaonq/p/10241045.html#i4 1. 什么是docker Docker 是应用最广泛的开源容器引擎,让开发 ...
- Linux Ubuntu 安装编译Opencv 3.4.3 C++开发环境
在安装Autoware之前,需要先安装Opencv,之前在Windows下安装了Opencv,挺复杂的.不过,在Ubuntu 16.04环境中配置安装Opencv相对来说,比较简单. Linux Ub ...
- 使用docker镜像搭建svn+Apache环境
2019独角兽企业重金招聘Python工程师标准>>> 环境准备 虚拟机装好之后,按照官网步骤检查虚拟机内核版本,必须在3.10以上版本,故此处安装redhat_7.2 # unam ...
- linux docker安装 制作Elasticsearch容器镜像 并上传docker hub
1 linux docker下载安装 创建操作系统并启动容器 1.ubuntu系统下载docker apt-get install -y docker.io #查看docker版本 docker ve ...
- 【jeecg Docker安装】使用 Docker 搭建 Java Web 运行环境
Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种"轻量级"容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公 ...
- 如何卸载linux中的docker,linux centos7 安装、卸载docker
docker安装 1:查看系统版本 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 2:安装docker(yum方式) $ y ...
- Docker安装MySQL 8.0镜像,简易上手
安装及启动docker 1.安装docker [root@docker]# yum install docker-ce docker-ce-cli containerd.io -y 2.启动docke ...
- docker安装mysql、redis镜像
docker镜像商店:官方镜像商店 redis安装下载: 下载镜像: 可直接默认下载最新镜像,也可以指定版本下载[注意,版本差异不大的软件可以直接下载最新版本,差异大的,例如java,mysql等,最 ...
最新文章
- 用R来分析洛杉矶犯罪
- 【分享】20道Oracle运维常见面试题
- 1019 数字黑洞 (20 分)(c语言)
- 这就是数据分析之算法认知
- 进行java环境设置的原因_java环境变量的设置原因
- (4)ISE14.7 ChipScope使用流程(FPGA不积跬步101)
- 官网的python下载安装后无需配置即可使用_图文解说少儿编程软件python下载安装,没有经验的新手也可以做到...
- Xshell如何进行文件上传?
- java加密解密代码_java加解密文件公用方法整合(多看一本书,少写三行代码)
- 将Windows网络适配器共享网络的ip:192.168.137.1 改为其他IP
- php vm_facebook hiphop php vm 兑现概述(二)
- Adobe全系列软件介绍
- 2017年总结及2018年规划
- 文本文档打开来是写字板怎么办
- 简单理解操作系统之存储器管理
- 计算机与计算机网络_让计算机承担责任
- 微积分知识补充——兼怀102
- Zabbix 5.4.12 源码编译安装
- Cis-Glyoxal-Cyclam ,CAS: 74199-16-9,CIS-十氢-1H,6H-3A,5A,8A,10A-四氮杂芘
- python爬取短视频,Python爬虫一键下载yy全站短视频详细步骤(附源码)