功能:在docker容器中所用的环境都是相互独立的,主要通过linux内核特性Namespaces来实现,将每个容器的进程id、主机名、用户、网络等资源进行隔离
因为贫穷没有亿图图示的会员,所以被挡住的字体,我就放在图底了。
总而言之:容器是基于镜像创造的实例,容器之间相互隔离。
安装docker:
docker命令:
保护我方胖虎的博客_优快云博客-flink,spring-boot,springcloud领域博主
VMware centos 7 连网 nat模式;
查看虚拟主机网卡
查看本机网卡
子网ip配置一个不同于主机ip网段的任意网段;
设置虚拟机为nat模式;
注意一下ip租用时间,防止中途断网,默认30分钟;
配置VMnet8网卡;
重启虚拟机网络服务;
docker 安装:
1.卸载原有的docker
centos 粘贴:Shift+Ctrl+V
2.安装utils
3.设置镜像源
4.更新yum软件包索引
5.安装docker
走进docker:
基础命令:systemctl start docker
systemctl restart docker
systemctl stop docker
systemctl enable docker 服务自启动;
启动docker
尝试拉取镜像:
查看本地存在哪些镜像:
docker run 运行:
1.在本机找到镜像直接运行,找不到就去Docker Hub去下载镜像。
2. /var/lib/docker 为docker默认的工作路径。
3.帮助命令:docker --help
搜索镜像:docker search 镜像名
docker search --filter=STARS=9000 mysql (搜索 (收藏数)STARS >9000的 mysql 镜像)
拉取镜像:docker pull 镜像名
docker pull 镜像名:tag(tag)->版本。
指定版本号 镜像 可以在docker hub中查看。
删除镜像:
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID
docker rmi -f $(docker images -aq) 删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID
强制删除镜像:docker image rm 镜像名称/镜像ID
保存镜像:保存为tar 压缩文件 这样方便镜像转移和保存 。
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
docker save tomcat -o /tomcatimg.tar
恢复镜像——>加载镜像;
docker load -i 镜像保存文件位置;Exp:docker load -i /tomcatimg.tar
docker run 镜像:
产生一个该镜像具体容器实例 .
docker ps -a #all,查看全部的容器。
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash
# -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 /bin/bash 交互路径
容器端口映射:
如果外部想要访问容器,那必须得让容器中的端口与宿主机的端口建立联系绑定起来
停止容器:docker stop 容器名/容器ID
docker run -itd --name mysql001 -p 8888:6379 mysql /bin/bash
-p 8888:6379 解析 将容器内部的 3306端口与docker 宿主机8888 端口进行映射 那就通过外部访问宿主机8888端口 即可访问到 docker 容器3306 端口.
如何进入容器内部?
docker exec -it 容器名/容器ID /bin/bash; Exp: docker exec -it mysql001 /bin/bash
容器ID 对应下的 /data 已经是进入到容器内部;
或者:
docker attach 容器名/容器ID 退出:exit(容器关闭) crtrl+p+q(容器不会被关闭)
使用docker run命令时 添加参数--restart=always
便表示,该容器随docker服务启动 而自动启动。
如何查看容器日志?
docker logs -f 容器ID
最后插播一下:
虚拟机特别容易中途奇怪断网,可以试一下:systemctl restart network.service,但是依旧无法阻止断的频繁。