英[ˈdɒkə(r)] 码头工人;
传统的交付模式:只给软件,不给环境==>研发和运维的运行环境差异导致纠纷。
大部分软件都是部署在虚拟机上。
Docker是基于Go语言实现的一种容器技术,比如,它可以包含【程序+文档+配置+数据】等,可以理解成一个集装箱,实现一次封装,到处运行。
www.docker.com--官网(速度慢)
www.docker-cn.com--中国雷锋做的中国版的官网(貌似打不开)
www.hub.docker.com --仓库,比较慢 --改用阿里云镜像加速器 vim /etc/docker/daemon.json
建议Centos7版,老版本不支持Docker
Docker CE社区办 Docker EE 企业版-收费
官网下载安装步骤:
https://docs.docker.com/install/linux/docker-ce/centos/
1,
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2,
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
命令中的反斜杠:续行符
3,安装
$ sudo yum install docker-ce docker-ce-cli containerd.io
4,启动docker
sudo systemctl start docker
5,验证
docker version
内核 :uname -r 建议3以上的版本
6,安装仓库
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
使用支付宝小账户 扫码进入:镜像中心-镜像加速器-Centos
daemon.json,内容如下
{ "registry-mirrors": ["https://bpk1bbr3.mirror.aliyuncs.com"] }
放在/etc/docker目录中,这样就设置好了镜像的仓库
Quertion1
Docker与传统化虚拟机技术(VMware)的差异?
缺点:资源占用多,启动慢
插图:Lesson 2:17:17 vm和docker的结构图对比
XXXXXXX
Docker架构
插图:Lesson 2:19:19 Docker架构示意图
XXXXXXX
Docker工作图21:38
XXXXXXX
帮助命令
docker version
docker info
docker --help
镜像命令
docker images --列出全部镜像
docker search tomcat --查找镜像
docker search -s 30 tomcat --查找30星以上的镜像
docker pull nginx --拉取镜像
docker rmi -f hello-world --强制删除;删除多个用空格连接
docker rmi -f $(docker images -q) --删除全部
容器命令:容器相当于镜像的一个实例
1、新建并启动
docker run -it ed94f55483b8
docker run [OPTIONS] image command [arg...]
Options
--name 为容器指定一个新名称
-d 后台运行容器
-i 交互方式运行
-t 启动一个伪终端
-p 指定端口映射
-P 随机端口映射
2,列出所有运行的容器
docker ps -a
docker ps [options]
Options
-a 列出所有正在运行的容器,包括历史上运行过的
-l 列出最近创建的容器
-n 显示最近n个创建的容器
-q 只显示id
3,退出
exit 退出并停止容器
ctrl + p + q 退出不停止容器
启动/重启容器 docker start/restart 容器ID/容器名称
停止容器 docker stop 容器ID/容器名称
删除容器 docker rm 容器ID
强制停止容器 docker kill 容器ID/容器名称
删除多个容器
docker rm -f $(docker ps -a -q)
docker ps -a -q |xargs docker rm --xargs为可变参数,通过管道传递,个个删除
后台方式运行容器 docker run -d 容器名称 镜像ID --防止占用前台
docker run -d -p 7777:8080 --name mytomcat tomcat 实际可能需要端口映射?宿主机的端口7777,容器端口8080
进入正在运行的容器,并以前台方式运行
docker exec -t 容器ID bashshell 产生新的进程--使用较多
docker exec -it a822f046902c /bin/bash
容器打包镜像
docker commit -m="new create from current container" -a="huangxj" a822f046902c "tomcatnew:2.0"
将容器中的东西拷贝出来:
docker cp 容器id:容器内路径 主机路径
docker cp a822f046902c:/usr/local/tomcat/BUILDING.txt /www
docker attach 容器ID 进入容器,不产生新的进程
拓展:
1,所谓镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个测试版的操作系统、游戏等。
大白:
镜像:...59:47
容器:...
2,yum
3,daemon进程 英 [ˈdiːmən];image镜像; repository 英 [rɪˈpɒzətri] 仓库;
4,