这里讲如何定制自己centos镜像,仅供测试docker使用. A) 安装软件 yum -y install febootstrap B)下载镜像febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i passwd -i vim-minimal -i openssh-server -i openssh-clients centos6.5 centos6-image http://mirrors.aliyun.com/c…
Docker 与 宿主机之间的文件cp 第一种方法是官方比较推荐的,其实和第二种方法实现是一样的. 第一种方法例: 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下. docker cp /www/runoob 96f7f14e99ab:/www/ 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www. docker cp /www/runoob 96f7f14e99ab:/www 将容器96f7f14e99ab的/www目录…
一.普通方式直接挂载 1.查看已有容器 docker ps 2.进入容器并挂载 docker run -it -v /root/work/docker:/root/hzbtest tomcat:7.0 /bin/bash 其中/root/work/docker为宿主机的目录 ,/root/hzbtest为docker内的目录 默认挂载的路径权限为读写.如果指定为只读可以用:ro docker run -it -v /root/work/docker:/root/hzbtest:ro tomcat…
软件环境 宿主机系统:Deepin 15.4.1, 虚拟机软件:VirtualBox 5.1 虚拟机系统:XP 操作步骤如下: (1)  安装 Virtualbox Extension Pack 进入下载页面,选择  5.1.28 ExtPack 包,双击安装. (2) 添加相关用户.用户组( Virtualbox 装完成后会有 vboxusers 和 vboxsf ) # 添加usbfs 用户组(Virtualbox 装完成后会有 vboxusers 和vboxsf) sudo groupad…
如何在docker和宿主机之间复制文件   最近在用Docker布署hadoop,要将文件上传到HDFS首先文件得在Docker容器中吧,网上提供的方法差不多有三种 1.用-v挂载主机数据卷到容器内 2.直接在主机上拷贝到容器物理存储系统 3.用输入输出符 具体方法这篇文章写的很详细:http://blog.csdn.net/yangzhenping/article/details/43667785 但是对这三种方法我都不太喜欢,无意间看到另位一种方法供大家参考: 从主机复制到容器sudo do…
Dockervile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义镜像. 1.基本结构 Dockerfile由一行行命令语句组成,并且支持以#开头的注释行. 一般而言,Dockerfile分为四部分:基础镜像信息.维护者信息.镜像操作指令和容器启动时执行命令. 一开始必须指明所基于的镜像名称,接下来一般是说明维护者信息.后面则是镜像操作指令,例如RUN指令,RUN指令将对镜像执行跟随的命令.每运行一条RUN指令,镜像就添加新的一层,并提交.最后是CMD指令,用来指定运…
0x00 概述 由于 Docker 镜像的结构优势,使它的占用空间远小于普通的虚拟机镜像,而这就大幅减少了 Docker 镜像在网络或者其他介质中转移所花费的时间,进而提高了我们进行迁移部署的效率.不过,你要是以为这就是 Docker 能够快速部署的终极大招那就大错特错了.在这一小节里,我们将谈到 Docker 特有的镜像构建定义文件,也就是 Dockerfile.通过了解它,你能真正体验一种进行秒级镜像迁移的乐趣. 0x01 关于 Dockerfile Dockerfile 是 Docker…
有些需求是把这个容器与宿主机在同一个网段,但是本人不建议这样子去操作,因为一个容器本身就是一个封装好的服务.建议去按默认的网络去实现. 临时设置 [root@linux-docker01 ~]# vim a.sh # 网桥名称 br_name=br0 # 添加网桥 brctl addbr $br_name # 给网桥设置IP ip addr add 192.168.43.10/24 dev $br_name # 删除已存在的eth0网卡配置 ip addr del 192.168.43.10/2…
使用宿主机IP 在安装Docker的时候,会在宿主机安装一个虚拟网关docker0,我们可以使用宿主机在docker0上的IP地址来代替localhost. 首先,使用如下命令查询宿主机IP地址: ifconfig 可以发现宿主机的IP是172.17.0.1,那么将proxy_pass http://localhost:1234改为proxy_pass http://172.17.0.1:1234就可以解决502 Bad Gateway错误. 但是,不同系统下宿主机的IP是不同的,例如Linux…
如果我们需要将宿主机文件拷贝到容器内可以使用 docker cp 命令,也可以将文件从容器内拷贝到宿主机 将宿主机文件拷贝到容器内 docker cp 要拷贝的宿主机文件或目录 容器名称:容器文件或目录 1. 在宿主机上创建一个mengxuegu文件并写入内容 2. 将mengxuegu文件拷贝进 mycentos2 容器中的 /opt 目录下(mycentos2要是UP启动状态) 3. 登录 mycentos2 容器,查看/opt目录下是否有 mengxuegu 文件 从容器内文件拷贝到宿主机…
容器往宿主机:docker cp 3234234324234:/database_dump_bak/db_bak.dmp /home/test 宿主机往容器:docker cp wenjian_001.xml  3234234324234:/mnt/5101388419…
1.从容器里面拷文件到宿主机 示例:容器名为s2-061_struts2_1,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js, 现在要将test.js从容器里面拷到宿主机的/root/Desktop/路径下面 在宿主机上面执行命令: docker cp s2-061_struts2_1:/usr/local/tomcat/webapps/test/js/test.js /root/Desktop/ 2.从宿主机拷文件到容器里面 示例…
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //手机系统版本 NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; NSLog(@"--手机系统版本--%@-----",phoneVersion); //手机型…
我们知道在Docker容器里是无法访问到宿主操作系统的文件目录的,但这种隔离是怎么实现的呢? 其实一点也不神奇--利用了Linux系统的内部命令chroot. chroot能将进程的根目录设置成任意指定的目录. 使用chroot我们能创建一个新的进程,并且以chroot执行时传入的参数作为新进程的根目录. 因为新进程创建之后就无法访问除了新进程创建时传入chroot参数之外的其他文件目录,为了确保这个新进程能够正常工作,我们必须手动拷贝一些文件到新进程的根目录映射的旧目录下. 做一个如下测试:…
实验环境 CentOS 7.5 容器 容器是镜像的运行实例.不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层:同时,容器中的应用进程处于运行状态. 主机和容器之间复制文件 要想实现在主机和容器之间复制文件,那么docker cp可以实现. [root@kvm ~]# docker cp --help Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CO…
从主机复制到容器sudo docker cp host_path containerID:container_path 从容器复制到主机sudo docker cp containerID:container_path host_path…
前言 在上一篇博客<Docker介绍及常用操作演示--技术流ken>中,已经详细介绍了docker相关内容以及有关镜像和容器的使用命令演示. 现在我们已经可以自己下载镜像,以及创建容器了. 但是现在有这样一个问题,我们创建的容器可以被其他人或者另外一台服务器访问吗? 基于上一篇博客中容器的创建,那样的容器是不能被其他服务器进行访问的,只能在宿主机进行访问. 想要实现被其他服务器访问,就要用到本篇博客写的内容了,有关docker中的虚拟网络. 另外,本篇博客将会介绍一种简单制作镜像的命令,以便我…
Docker暴露容器方法 第一种:将容器中的一个端口映射成宿主机中的一个随机端口 第二种:将容器中的一个端口映射成宿主机中的一个端口 第三种:将容器中的一个端口映射成宿主机中的一个特定网卡上的随机端口 第四种:将容器中的一个端口映射成宿主机中的一个特定网卡上的一个端口 [使用多次-p选项可以实现暴露多个端口] Docker端口映射的四种方法使用演示 第一种:将容器中的一个端口映射成宿主机中的一个随机端口 下面的操作确保虚拟机是在桥接模式 第一步:下载httpd镜像 [root@ken ~]# d…
在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 方式一.Docker cp命令 docker cp :用于容器与主机之间的数据拷贝. 语法# 容器内文件 copy to 宿主机 docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-# 宿主机文件 copy to 容器内 docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH…
一.需求: 因公司需求,需制作mysql5.7.22 docker基础镜像,每个项目以此镜像启动一个数据库容器,并且每个项目挂载一个宿主机目录到镜像中数据存储下面用于数据持久化保存以便后期迁移至阿里云. 二.遇到问题 将宿主机中相应项目的目录挂载到容器后需要将容器中此目录的用户权限修改为mysql:mysql,但是修改权限后宿主机相应目录权限却由开始的root变成宿主机用户中的hrz. 启动命令如下: docker run -it -d --name mysql_test -v /Registr…
网上看到的很多所谓的挂载都是容器创建时期的挂载,而且参数都不清不楚,整理如下(--name别名自己加): docker run -v /src/path:/dest/path:rw ${IMAGE} ${ENTRY_POINT args} 以上方法是不支持已经起来的运行时容器的,run表示create+start,是创建新容器. docker不支持runtime的挂载其实有点不讲道理,这种需求还是有的,而且实现并不难,大不了重启容器. 一种hack方法参考:https://stackoverfl…
最近在做产品授权的东西,开始宿主机为Window,程序获取机器硬件信息相对简单些,后来部署时发现各种各样的的环境问题,所有后来改用dokcer部署,docker方式获取宿主机信息时花了些时间,特此记录一下 docker 获取宿主机的信息 // dmidecode -t 4 | grep ID | tail -1 // CPUID // 系统 // dmidecode -s system-serial-number // 查看系统序列号 // dmidecode -s system-uuid //…
有时候我们需要在虚拟机的操作系统中进行一些USB设备的测试,但默认情况下USB设备是在宿主机系统里面的,那这个时候我们就要进行切换才能够达到目的,具体要怎么操作呢?下面讲解一下:   1. Ctrl+r弹出运行窗口,输入services.msc弹出服务窗口 2. 找到VMware USB Arbiration Service,然后启动 3. 关闭VMware软件,重新打开,在VM中就可以看到USB设备 4. 连接USB设备即可     http://blog.sina.com.cn/s/blog…
我们默认mysql容器已经正常启动,以下为关键命令.1.docker exec -it mysql bash : 进入已经正常启动的容器bash中,mysql是指实际容器名称.2.mysql -uroot -p :进入mysql3.show databases :查看数据库(进入mysql之后所有指令结尾都需要 ; ) 宿主机进入容器命令 docker exec -it 容器名称id bash 如何在docker和宿主机之间复制文件 从主机复制到容器sudo docker cp host_pat…
背景 近期接触容器技术时,经常看到各类比较容器与虚拟机区别的文章中会提到:容器是共享宿主机的内核,而虚拟机则是拥有自己独立的内核,所以不可能在Linux上用容器运行windows,但是用虚拟机则可以. 乍看下去,觉得Linux上无法运行windows是很自然的结论,然后突然升起一个疑问:Linux上无法运行windows容器,那Debian上可以运行Ubuntu容器吗?Ubuntu上又能运行CentOS容器吗? 从自己实际使用上看,Debian上确实有运行CentOS的docker容器,Cent…
以centos为基础,目的使用ssh服务远程连接docker容器. 环境:宿主机centos7(宿主机ip地址为192.168.164.130),直接搜索docker的centos镜像,下载最新版本. [root@localhost ~]# docker search -s 15 centos [root@localhost ~]# docker pull docker.io/centos 使用centos镜像启动一个容器centos_ssh [root@localhost ~]# docker…
前面讲到了docker容器得镜像,镜像其实是docker容器的静态部分,而docker容器则是docker镜像的动态部分,即启动了一个进程来运行,本篇最要来分析一下怎样创建并运行一个容器. 创建一个容器在客户端实现是在api/client/create.go,其中得CmdCreate()方法,这个函数的作用是通过一个给定的image来启动一个container:其中的createContainer()函数是最主要的实现部分: //create the container serverResp,…
Docker 基于已有镜像的容器创建镜像: docker:/root# docker run -it januswel/centos /bin/bash docker exec -it januswel/centos /bin/bash docker:/root# docker start 13fe7a3f05cc 13fe7a3f05cc 后台运行: docker:/root# docker exec -it 13fe7a3f05cc /bin//bash [root@13fe7a3f05cc…
原文:Docker中运行MySQL5.7并挂载宿主机目录到镜像 1.1 拉取mysql镜像 docker pull mysql:5.7 1.2 创建用于挂载的目录 mkdir -p /data/mysql/logs /data/mysql/conf /data/mysql/data 1.3 使用镜像创建容器 #将容器中MySQL的3306端口映射到本地的3306端口,并设置登录密码为: docker run --name mysql5. -p : -v /data/mysql/data:/ -d…
一.背景介绍 响应公司技术发展路线,开发的服务均需要将打成docker镜像,使用docker进行统一管理.可是随着服务越来越多,镜像也越来越多.每次制作镜像的时候都需要将依赖打进容器,这样一个jre的环境就是100多M.有一天突发奇想,容器能不能共用宿主机的环境?这样每次打镜像时体积就会少不少.于是就动手试试了试,结果还真可以,哈哈. 二.测试 我们测试用的是java的web项目做的测试,框架用的springboot,由于集成了tomcat插件,所以web项目打成jar包即可运行. 1.在宿主机…