Docker容器的原则:一次构建,到处使用!
build once,use anywhere!
学习Docker容器的三步走
build ship run
镜像:
1、镜像是什么
docker是一个不包含linux内核而又精简的linux系统
查看本地镜像:docker images
2、存储驱动
支持的存储驱动:
ubuntu: aufs devicemapper
centos: devicemapper overlay2
3、镜像管理命令
docker image --help 查看image相关命令
docker image history nginx
docker image inspect nginx
docker image pull
docker image rm nginx:v1
docker tag nginx:v1 nginx:v2 这样会多出一个和v1 ID一样且标记为v2的镜像
docker image save nginx:1.11 >nginx1.11.tar
docker load < nginx1.11.tar 从本地导入镜像
docker export 6wdw111 > busybox.tar 将容器导出
docker image inport busybox.tar busybox:self 知道容器名和tag
export 导出容器文件系统到tar归档文件
save 保存一个或多个镜像到一个tar归档文件
容器:
1、容器是什么
容器是镜像运行后的一种状态
2、容器常用指令
-i 交互式
-t 分配一个伪终端
-d 运行容器到后台
-a --attach list 附加到运行的容器
-e --env list 设置环境变量
-p 发布容器端口到主机
-P 发布容器所有的EXPOSE的端口到宿主机随机端口
-h 设置容器主机名
--ip 指定容器IP,只能用于自定义网络
--link list 添加链接到另一个容器
--network 连接容器到一个网络
--mount 挂载宿主机分区到容器
-v --volume list 挂载宿主机目录到容器
--restart string 容器退出时重启策略,默认no [always|on-failure]
--add-host list 添加其他主机到容器中/etc/hosts
-m 容器可以使用的最大内存量
--memory-swap 允许交换到磁盘的内存量
--cpus 限制容器可使用多少可用的CPU资源
--cpuset-cpus 限制容器可以使用特定的cpu
--cpu-shares 此值设置为大于或小于默认1024值,以增加或减少容器的权重。
3、创建容器
基于busybox镜像创建bs1容器 ,设置变量a=123
docker container run -itd -e a=123 --name bs1 busybox
进入容器bs1 ,运行sh
docker exec -it bs1 sh
docker container run -itd --name nginx01 nginx
docker exec -it nginx01 /bin/bash
docker log nginx
docker container run -itd -p 8080:80 --name nginx01 --restart=always nginx
4、管理容器常用命令
ls 列出容器
inspect 显示一个或多个容器详细信息
attach 附加本地标准输入,输出和错误到一个运行的容器
exec 在运行容器中执行命令
commit 创建一个新镜像来自一个容器
cp 拷贝文件、文件夹到一个容器中
logs 获取一个容器日志
port 列出或指定容器端口映射
stats 显示容器资源使用统计
top 显示一个容器运行的进程
update 更新一个活多个容器配置
stop/start 停止/启动一个或多个容器
rm 删除一个活多个容器
注意:
docker commit bs1 busybox:v2 不建议操作,建议在dockerfile中完成。
docker cp aaa.txt bs01:/root
docker container exec bs1 ls /root
docker port nginx01