docker
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker相关的知识,希望对你有一定的参考价值。
1、安装redhat 6.5
2、vmware 桥接 redhat 静态ip 设置 (备忘)
查看vm 编辑 虚拟网络编辑器 是否有“vmnet0桥接模式”。若没有,到物理网卡下查看属性里是否有“VMWare Bridge protocol”。若无,安装此项服务
配置IP、Mask等网络参数
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 HWADDR=00:0C:29:92:ED:6A TYPE=Ethernet UUID=88e1194a-5c35-4ac4-9933-69c712b66cc8 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.1.104 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4
3、
RHEL的YUM源需要注册用户才能更新使用,由于CentOS和RHEL基本没有区别,并且CentOS已经被REHL收购。所以将RHEL的YUM源替换为CentOS即可。 问题如下: [[email protected] ~]# yum repolist Loaded plugins: product-id, refresh-packagekit, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. repolist: 0 解决方法: 1.清除原有RHEL的YUM及相关软件包。 rpm -qa | grep yum | xargs rpm -e --nodeps rpm -qa |grep python-urlgrabber|xargs rpm -e --nodeps 2.下载centos6的相关软件包。 wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpm wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm *注释:这些软件包的具体的版本,请到http://mirrors.163.com/centos/6/os/x86_64/Packages/ 目录下,选择下载上述软件包。网上很多文章没法直接使用就是因为软件包的版本问题。 3.安装软件包。 rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm rpm -ivh python-urlgrabber-3.9.1-11.el6.noarch.rpm rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm rpm -ivh yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm yum-3.2.29-73.el6.centos.noarch.rpm *注释yum-plugin-fastestmirror和yum-3.2.29要一起安装。 4.替换新的repo文件。 cd /etc/yum.repos.d/ wget http://mirrors.163.com/.help/CentOS6-Base-163.repo sed -i "s;\$releasever;6;g" CentOS6-Base-163.repo mv rhel-source.repo rhel-source.repo.bak 5.执行yum repolist查看,如果显示出repo仓库列表,并显示软件包数量则OK。(或者使用yum makecache)
4、Install Docker on RHEL 6.5(EPEL)
4、安装相应的epel源 wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm 5、安装docker yum -y install docker-io 6、启动docker 启动docker进程:service docker start 查看docker进程:ps -ef |grep docker
5、宿主机安装nginx(编译安装最新版本)
#下载最新版本: wget http://nginx.org/download/nginx-1.11.3.tar.gz #解压 tar -zxvf nginx-1.11.3.tar.gz mv nginx-1.11.3 /usr/local/nginx cd /usr/local/nginx/
yum install -y pcre-devel
#/bin/sh: line 0: cd: ../pcre-7.8: No such file or directory
#make[1]: *** [../pcre-7.8/Makefile] Error 1
#make[1]: Leaving directory `/usr/local/nginx‘
wget http://exim.mirror.fr/pcre/pcre-8.38.tar.gz
tar -zxvf pcre-8.38.tar.gz
make
make install
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
mv zlib-1.2.8 /usr/local/
cd /usr/local/zlib-1.2.8/
./congigure
make
make install
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=../pcre-8.38 --with-zlib=../zlib-1.2.8
#error: C compiler cc is not found
#如果安装出现在下面的错误是缺少编译环境。安装编译源码所需的工具和库
yum install gcc gcc-c++ ncurses-devel perl
#安装cmake,从http://www.cmake.org下载源码并编译安装
yum -y install make gcc gcc-c++ ncurses-devel
#./configure: error: the HTTP gzip module requires the zlib library.
yum -y install zlib zlib-devel
#如果需要ssl功能需要openssl库
#./configure: error: SSL modules require the OpenSSL library.
yum -y install openssl openssl--devel
make
make install
6、添加Nginx 到 service 启动
vi /etc/init.d/nginx
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
#
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it‘s not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
echo -n $"Reloading $prog: "
$nginxd -s reload
#if your nginx version is below 0.8, please use this command: "kill -HUP `cat ${nginx_pid}`"
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
cd /etc/rc.d/init.d chmod +x nginx /sbin/chkconfig --level 345 nginx on
service nginx start
7、开启80端口 输入IP地址应该可以访问了
vi /etc/sysconfig/iptables
service iptables restart
8、准备jdk tomcat mysql 等
cd /software wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.tar.gz"
9、准备容器image http://my.oschina.net/huangyong/blog/372491?fromerr=kHrZPM01
#pull image docker pull centos:centos7 #查看镜像 docker images #启动并进去容器bash d83a55af4e75 为image id #docker run <相关参数> <镜像 ID> <初始命令> #将宿主机的/software/挂载到image的/mnt/software/以共享文件 docker run -i -t -v /software/:/mnt/software/ d83a55af4e75 /bin/bash
10、进入image并安装jdk
cd /opt
tar -zxf /mnt/software/jdk-7u75-linux-x64.tar.gz -C .
mv jdk1.7.0_75/ jdk/
11、安装tomcat
tar -zxf /mnt/software/apache-tomcat-7.0.70.tar.gz -C .
mv apache-tomcat-7.0.70/ tomcat/
12、设置环境变量
vi ~/.bashrc #文件末尾添加 export JAVA_HOME=/opt/jdk export PATH=$PATH:$JAVA_HOME
#需要使用source命令,让环境变量生效:
source ~/.bashrc
13、运行脚本
vi /root/run.sh #内容为: #!/bin/bash source ~/.bashrc sh /opt/tomcat/bin/catalina.sh run
#添加权限
chmod u+x /root/run.sh
14、创建新的镜像
#退出image exit #查看所有镜像 docker ps -a #创建新的镜像 docker commit 6d20712c0e0c dingbs/javaweb:0.1 #查看最新镜像情况 docker images
15、
安装 Tomcat
以上是关于docker的主要内容,如果未能解决你的问题,请参考以下文章