Docker的应用场景
1.简化配置,同一Docker的配置可以在不同 环境中使用,降低了硬件要求和应用环境之间的耦合度.
2.代码的流水线管理.代码从开发者的假期到最终在生产环境上的部署,需要经过很多的中间环境.而每一个中间环境都有自己微小的蛤贝,Docker给应用提供一个从开发到上线均一致的环境,让代码的流水线变得简单.
3.提高开发效率
4.隔离应用,使应用松耦合
5.快速部署
docker [CMD] [options]
基本命令与释义
attach进入到正在运行的容器
build由Dockerfile构建镜像
commit由容器的改变创建一个新的镜像
cp在容器中复制文件或文件夹到本地文件或文件夹中.
logs获取容器日志
network管理Docker网络
node管理Docker集群节点
pause暂停一个或多个容器内的所有进程
port列表端口映射或用于容器的特定的映射
ps列出容器
pull从镜像仓库中拉出镜像
push上传镜像
rename重命名镜像
restart重启一个容器
rm 删除容器
rmi删除镜像
run在容器中运行命令
search在Docker Hub中查找镜像
service管理Docker服务
start启动停止的容器
stats显示容器的实时流资源使用统计信息
stop停止正在运行的容器
swarm管理Docker集群
tag将镜像标记到存储库中
top显示容器的正在运行的进程
volume管理Docker卷
docker run [options]
常用参数与释义(主要介绍docker run)
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–name=”nginx-lb”: 为容器指定一个名称;
–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=”ritchie”: 设置环境变量;
–env-file=[]: 从指定文件读入环境变量;
–cpuset=”0-2” or –cpuset=”0,1,2”: 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
–net=”bridge”: 指定容器的网络连接类型,支持 bridge/host/none/Container: 四种类型;
–link=[]: 添加链接到另一个容器;
–expose=[]: 开放一个端口或一组端口;
1.安装Docker
2.加入开机启动
3.启动Docker
4.下载镜像
5.查看本地镜像
6.启动容器
7.查看容器
搭建本地镜像仓库
仓库IP 192.168.247.142
1.拉取registry镜像
2.启动镜像仓库容器并且映射虚拟机端口5000和容器端口5000
3.将本地目录/opt/data/registry挂载到容器内目录/tmp/registry中
4.用busybox做试验
5.在需要拉取镜像的虚拟机上创建/etc/docker/daemon.json(这一步很关键,解决的http和https服务冲突问题)
6.向私有仓库中上传镜像
docker的网络配置
1.查看docker的所有网络
2.指定查看bridge网络的配置
3.启动两个busybox做实验,分别是container1和container2
4.再次查看bridge,这时可以看到container1和container2已经被加入bridge中了
5.也可以进入到container1中,用ifconfig查看网络配置
6.ping
7.
8.自建桥接模式的网络isolated_nw
9.查看网络能看到已经建立的isolated_nw
10.启动container3时指定网络isolated_nw,则可以加入自建网络中