docker 配合 samba

centos7 安装samba:http://jingyan.baidu.com/article/a3aad71ac28786b1fa009675.html

samba:配置文件

[global]
        workgroup = MYGROUP
        server string = Samba Server Version %v
        # logs split per machine
        log file = /var/log/samba/log.%m
        # max 50KB per log file, then rotate
        max log size = 50
        security = user
        #security = share
        passdb backend = tdbsam
        load printers = no
        cups options = raw




[share]
        comment = upload file
        path = /home/samba/
        browseable = yes
        writable = yes
        guest ok = yes

[sharedoc]
        comment = upload file
        path = /sambadoc
        browseable = yes
        writable = yes
        guest ok = yes

如果无法登录:

smbpasswd -a root


docker:


CentOS7环境下安装Docker

安装包的组成

2014年7月7日,CentOS官方发布了首个CentOS7正式版。CentOS7的Linux内核升级到3.10.0,对Linux容器支持得到大大增强。

在CentOS7的Extra仓库中,有Docker的发布版。这个发布版包含了docker的一个比较老的版本(0.11.1)。相信随着Docker稳定版本的逐步退出,CentOS7会升级源仓库中的docker版本。

安装

在CentOS7下可以直接从源仓库安装docker,命令如下:

sudo yum install docker

安装程序将docker程序安装到/usr/bin目录下,配置文件安装在/etc/sysconfig/docker。安装好docker之后,可以将docker加入到启动服务组中,命令如下:

sudo systemctl enable docker.service

运行

手动启动docker服务器,使用命令:

sudo systemctl start docker.service

初次启动需要一些时间,启动好后,你可以使用docker命令管理和运行你的docker镜像和容器了。


命令:
Docker search ubuntu               		#搜索ubuntu镜像
docker pull ubuntu		               	#下载ubuntu镜像
docker run  -idt --name=centos centos
docker run -idt --name=ubuntu ubuntu  	        #运行ubuntu容器,容器名称为ubuntu,网络方式docker默认为NAT,ip为172.17.0.2 网关为172.17.0.1
docker ps -a   			               	#查看运行中的容器,包括已经关闭的容器和运行中的
docker exec -it ubuntu /bin/bash       	#运行容器的bash,此为进入容器内部
docker stop ubuntu 		            	#停止运行的容器   
docker start ubuntu                 	#将停止的容器打开
docker rm ubuntu 		               	#删除容器
docker rmi ubuntu 		               	#删除指定容器的ID
docker rm -f ubuntu				#关于以上两条删除不了 加 -f 参数
docker inspect ubuntu		            #查看容器的详细信息如:pid,ip

#开启samba服务把/home/samba/目录共享里面对应容器的tomcat的webapps目录
docker run -idt -p 8082:8080 3bf9d5e42073(tomcat image ID)
docker run -idt -p 8082:8080 -v /home/samba/tomcat2:/usr/local/tomcat/webapps 3bf9d5e42073(tomcat image ID)
docker run -idt --name tomcat1 -p 8081:8080 -v /home/samba/tomcat1:/usr/local/tomcat/webapps 3bf9d5e42073(tomcat image ID)
#docker run -idt --name tomcat11 -p 8091:8080 -v  /home/samba/tomcat11:/usr/local/tomcat/webapps tomcat(tomcat image name)
#DockerUI:http://dockone.io/article/225
docker run -d --name dockerui -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui
docker images往往不知不觉就占满了硬盘空间,为了清理冗余的image,可采用以下方法:
1.进入root权限sudo su
2.停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
3.查看当前有些什么images
docker images


进入容器内部快捷的方法。在家目录创建一个.bashrc_docker文件,内容如下:


# Some useful commands to use docker.
# Author: yeasy@github
# Created:2014-09-25

alias docker-pid="sudo docker inspect --format '{{.State.Pid}}'"
alias docker-ip="sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}'"

#the implementation refs from https://github.com/jpetazzo/nsenter/blob/master/docker-enter
function docker-enter() {
    #if [ -e $(dirname "$0")/nsenter ]; then
    #Change for centos bash running
    if [ -e $(dirname '$0')/nsenter ]; then
        # with boot2docker, nsenter is not in the PATH but it is in the same folder
        NSENTER=$(dirname "$0")/nsenter
    else
        # if nsenter has already been installed with path notified, here will be clarified
        NSENTER=$(which nsenter)
        #NSENTER=nsenter
    fi
    [ -z "$NSENTER" ] && echo "WARN Cannot find nsenter" && return

    if [ -z "$1" ]; then
        echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"
        echo ""
        echo "Enters the Docker CONTAINER and executes the specified COMMAND."
        echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."
    else
        PID=$(sudo docker inspect --format "{{.State.Pid}}" "$1")
        if [ -z "$PID" ]; then
            echo "WARN Cannot find the given container"
            return
        fi
        shift

        OPTS="--target $PID --mount --uts --ipc --net --pid"

        if [ -z "$1" ]; then
            # No command given.
            # Use su to clear all host environment variables except for TERM,
            # initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,
            # and start a login shell.
            #sudo $NSENTER "$OPTS" su - root
            sudo $NSENTER --target $PID --mount --uts --ipc --net --pid su - root
        else
            # Use env to clear all host environment variables.
            sudo $NSENTER --target $PID --mount --uts --ipc --net --pid env -i $@
        fi
    fi
}

执行命令:

source .bashrc_docker
#docker-enter  tomcat3
此时会有docker-ip, docker-pid, docker-enter 3个命令可以使用分别为获取容器ip,进程id,进入容器
容器时间跟物理主机时间同步:<pre code_snippet_id="1594763" snippet_file_name="blog_20160302_5_9876928" name="code" class="python">-v /etc/localtime:/etc/localtime
 
docker run -idt --name tomcat4 -p 8084:8080 -v /home/samba/tomcat4:/usr/local/tomcat/webapps -v /etc/localtime:/etc/localtime 3bf9d5e42073

WPS云空间有长记录文档

http://www.docker.org.cn/book/docker.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值