前言
Docker 是一个能够把开发应用程序自动部署到容器的开源引擎。它由Docker公司的团队编写,基于Apache 2.0开源协议授权。它提供了一个简单、轻量的建模方式,使开发生命周期更高效快速,鼓励了面向服务的架构设计。Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
Docker 可能一开始让你望而生畏,但确实是一个非常伟大的工具。
为了更好的使用docker,建议升级到1.13。注意,下面命令皆基于1.13!
# 升级指令(centos7测试过) yum-config-manager --add-repo https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo yum makecache fast yum -y remove docker docker-common container-selinux yum -y install docker-engine-1.13.1
清除docker占用的磁盘空间
# 清除没有依赖的镜像和停止运行的容器,没有使用的容器卷与网络(强制清除用-f) docker system prune # 清除没有依赖的镜像(强制清除用-f) docker image prune # 清除停止运行的容器(强制清除用-f) docker container prune # 清除没有使用的网络(强制清除用-f) docker network prune # 清除没有使用的容器卷(强制清除用-f) docker volume prune
查看docker占用docker空间情况
docker system df
创建自启动容器
docker run --restart=always my_image
创建退出自删除容器
docker run --rm my_image
容器健康检查
# 启动容器时候指定(timeout执行命令超时时间,health-interval执行检查间隔时间) docker run -d --health-cmd "curl -f http://localhost/123 || exit 1" --health-interval=5s --timeout=3s my_image # Dockerfile指定(timeout执行命令超时时间,interval执行检查间隔时间) HEALTHCHECK --interval=60s --timeout=10s CMD curl -f http://127.0.0.1/ || exit 1
docker swarm 集群相关命令
# 创建集群 docker swarm init --advertise-addr {本机地址} # 获取加入集群命令(管理员节点) docker swarm join-token manager # 获取加入集群命令(普通节点) docker swarm join-token worker # 显示节点列表 docker node ls # 显示已有服务 docker service ls # 显示某个服务下容器 docker service ps {服务名字} # 创建一个服务 docker service create --replicas {实例数量} --name {服务名字} -p {主机端口}:{容器内部端口} my_image {启动指令} # 删除一个服务 docker service rm {服务名字} # 修改实例数量 docker service scale {服务名字}={服务数量} # 修改实例使用镜像 docker service update --image {镜像名字} {服务名字} # 修改实例内存限制 docker service update --limit-memory {内存使用} {服务名字} # 修改实例cpu限制 docker service update --limit-cpu {内存使用} {服务名字}
查看容器占用资源情况
docker stats
查看所有镜像
docker images
查看容器
# 查看正在运行的容器 docker ps # 查看所有的容器 docker ps -a
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。