以下内容来源于网络
第一种方法: 替换volume假设一位用户希望创建一个密码不会泄漏的 MySQL 容器,密码为 daocloud。为了弥合明文密码问题,绕过环境变量,我们可以按照以下三个步骤来完成。
创建两个 MySQL 容器 MySQL1 与 MySQL2,MySQL 的 root 密码分别为 daocloud 与 docker;
待 MySQL1 启动完毕,使用docker stop 命令停止 MySQL1 容器,并将 MySQL1 容器的 volume1 全部拷贝出来,最终使用docker rm 命令删除 MySQL1 容器;
待 MySQL2 启动完毕,使用docker...
vim /etc/docker/daemon.json
12345678{ "bip": "192.168.1.5/24", "fixed-cidr": "10.20.0.0/16", "fixed-cidr-v6": "2001:db8::/64", "mtu": 1500, "default-gateway": "10.20.1.1", "dns": ["10.20.1.2","10.20.1.3"]}
核心选项bip bip即bridge ip之意
文档地址:https://docs.docker.com/network/b...
官方文档:https://docs.docker.com/engine/reference/builder/
ENV
${VAR:-STR} :表示var这个变量 如果有值的话 , 就用自己的值 没有的话 就用STR这个值 , 相当于变量原来有值就用原来的 , .没有的话就用我们给出的值STR—— 相当于给变量设置默认值
${VAR:+STR} 如果VAR有值 就返回STR
FROM1FROM <repository>[:<tag>]
MAINTAINER作者信息
COPY12COPY <src> ...<dest> 或COPY [&q...
设置网络名称空间
1234ip netns add r1ip netns add r2ip netns list //查看各个创建的名称空间
1ip netns exec r1 ifconfig //进入r1网络名称空间里面查看网络信息
创建网络虚拟网卡对
1ip link add name veth1.1 type veth peer name vethv1.2
查看刚刚创建的网卡对
1ip link show //@符号前面的是一半网卡名称 后面的是对应的另外一半网卡名称
把一半网卡移到另外一个名称空间
1ip link set dev veth1.2 netns r1...
先创建一个文件夹 , 用来放我们实验需要的文件
1mkdir test
进入文件夹
1cd test/
先编辑dockerfile文件
vim Dockerfile
12345678FROM nginx:1.14-alpineLABEL maintainer="hha"ENV NGX_DOC_ROOT="/data/web/html/"ADD index.html ${NGX_DOC_ROOT}ADD entrypoint.sh /bin/EXPOSE 80/tcpCMD ["usr/sbin/nginx","-g","daemon off;"]ENTRYPOINT ...
虚拟化的发展
主机级虚拟化
容器级虚拟化
开始是jail , 用来隔离进程 ,起到安全的作用 , 之后有人把这个功能移植到了unix上 , 叫着vserver , 其中有个重要的功能就是chroot
chrootchroot意味着切根 , 原来的根是在/ ,有了chroot技术的话 , 就可以把根切到别的地方,这个地方有和根一样的基于FHS定于的目录 ,之后运行进程 , 进程就以为这就是根了 , 这样就实现一个类似于虚拟机的环境 , 但是这样做也有问题 , 这并不能实现与其他用户和宿主机的彻底隔离 , 其实这个虚拟的环境用的还是宿主机的内核 , 那这个虚拟的环境要运行指令的时候,...
ovs sdn
closed container只有lo接口
bridgedocker0 是个交换机 给他地址就可以也成为网桥
查看docker网络
1docker network inspect bridge
查看网桥
1brctl show
docker网络的创建的时候 一半的网卡在docker上 一般的网卡在docker0上
查看网络
1ip link show
就可以看到这些网络 @后面的字符就代表另外一半网卡 那半个网卡是在docker容器中
进入docker中就可以看到另外一个网卡 使用命令ifconfig 查看
进入docker中 ping docker0网桥的话...
查看镜像、容器、数据卷所占用的空间
1docker system df
##虚悬镜像
上面的镜像列表中,还可以看到一个特殊的镜像,这个镜像既没有仓库名,也没有标签,均为
这个镜像原本是有镜像名和标签的,原来为 mongo:3.2 ,随着官方镜像维护,发布了新版本后,重新 docker pull mongo:3.2 时, mongo:3.2 这个镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了 。除了 docker pull 可能导致这种情况, docker build 也同样可以导致这种现象。由于新旧镜像同名,旧镜像名称被取消,...
docker pull1docker pull <registry>:[:<port>]/[<namespace>/]<name>:<tag>
registry: 默认是dockerhub 也可以用其他的仓库地址 , 但是一般忽略协议(https://) , 比如grc.io , quary.io
一般 分成3类:
sponsor registry: 第三方的registry 供客户和docker社区使用
mirror registry: 第三方registry 只让客户使用 , 比如阿里云
vendor registry:...
下载离线版
123456789wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.3.tgztar xvf /harbor-offline-installer-v1.5.3.tgz -C /usr/localcd /usr/local/harborvim harbor.cfg./install.sh
停止的话:
1docker-compose stop