Docker

作者: 西海岸虎皮猫大人 | 来源:发表于2020-10-20 21:48 被阅读0次

1 概述

解决开发到运维的复杂配置问题,解决集群部署问题
镜像:应用相关的整套环境
理念:一次封装,到处运行
docker三要素:镜像 容器 仓库
docker秒级启动
容器没有自己的内核,也没有硬件虚拟
docker、mesos等容器技术使大规模动态调度称为可能
新浪、美团、蘑菇街...
镜像的实例即容器,一个镜像可以创建多个容器
镜像即模板
可以把容器看做简易版的linux环境
仓库集中存放镜像
docker-ce为社区版免费

环境搭建
centos6安装docker
# 要求centos 6.5以上
# docker-ce版要求centos7以上
# 安装docker依赖
yum install -y epel-release
# 安装docker
# 该命令由于gfw不可用
yum install -y docker-io
yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm
# 配置文件位置
/etc/sysconfig/docker
service docker start
docker version
centos7安装docker
 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O/etc/yum.repos.d/docker-ce.repo
 yum clean all && yum makecache
yum -y install docker-ce-18.06.1.ce-3.el7
# 配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://1vrs21kz.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 运行hello world
docker run hello-world
原理

docker是cs结构的系统
docker不虚拟硬件,在cpu 内存利用率有优势

常用命令
# 帮助类命令
docker version
docker info
# 类似linux man命令
docker help

# 镜像命令
# 列出本地镜像
docker images
# 含中间层
docker images -a
# 只显示镜像id
docker images -q
# 显示摘要信息
docker images --digests
# 不截取id
docker images --no-trunc

# 搜索镜像
docker search tomcat
# stars超过30的镜像
docker search -s 30 tomcat
# 拉镜像 默认使用latest
docker pull tomcat
# 删除镜像
docker rmi hello-world
# 提示无法删除,强制删除
docker rmi -f hello-world
# 删除多个镜像
docker rmi -f hello-world nginx
# 删除所有容器
docker rmi -f $(docker images -q)

# 容器命令
# 拉取centos
docker pull centos
# i 交互模式 t 分配伪终端
# --name 可指定容器名称
docker run -it 0d120b6ccaa8

# 列出容器
# -a 正在运行的和历史容器
# -l 上一次运行的容器
# -n 上n次运行的容器
docker ps
# 退出并关闭容器
exit
# 退出不关闭容器
ctrl + p + q
# 启动关闭的容器
docker start d61f2293dc34
# 重启容器
 docker restart e20333d60fba
# 停止容器
docker stop e20333d60fba
# 强制停止容器
docker kill d61f2293dc34
# 查看过去运行的两个容器
docker ps -n 2
# 删除已停止的容器
docker rm e20333d60fba

# 后台运行容器
docker run -d tomcat
# 容器命令如果不是一直挂起的命令就会自动退出

# 查看容器日志
docker logs -t -f --tail 3 3da4b26aa8ea
# 查看容器内进程
docker top 3da4b26aa8ea
# 查看容器内部细节,以json形式展示
docker inspect 3da4b26aa8ea
# 进入正在运行的容器并以命令行交互
docker attach 2b0856486ca0
# 容器执行命令返回宿主机
docker exec -t 2b0856486ca0 ls -l /tmp
# exec也可以进入容器终端
docker exec -t 2b0856486ca0 /bin/bash
# 从容器内拷贝文件到主机
docker cp 2b0856486ca0:/tmp/ks-script-2n9owwnh /root
镜像
联合文件系统

docker镜像由一层层文件系统组成
bootfs 包含bootloader和kernel
bootfs之上是rootfs,即典型linux系统的标准目录和文件

镜像

docker镜像分层是为了共享资源
镜像都是只读的

# 端口映射
docker run -it -p 8080:8080 tomcat
# 随机分配端口
docker run -it -P tomcat
# 根据运行中容器提交镜像
docker commit -a "vincent" -m "tomcat without docs" ac43cad04aec vincent
/mycat:1.2
# 删除所有容器
docker rm -f $(docker ps -q)

相关文章

  • docker学习

    docker镜像 docker容器 docker仓库 安装docker docker版本 docker分为社区版和...

  • Docker安装和运行

    获取Docker 安装Docker 验证安装 1、获取Docker Docker for Mac Docker f...

  • Docker知识手册

    Docker 容器 启动docker:docker start 查看docker运行状态:docker stats...

  • Docker简介

    章节介绍 # Docker是什么# Docker包括什么# Docker镜像# Docker编配# Docker还...

  • Docker 常用操作

    Docker docker: 18.09.4、nvidia-docker: 2.0.3 docker 19.03 ...

  • rancher+harbor离线安装

    安装docker,此docker为社区版docker。docker官方文档:https://docs.docker...

  • Linux之Docker

    Linux之Docker 目录 Docker简单介绍 在线Docker安装 离线Docker安装 Docker简单...

  • Docker常用命令

    Docker常用命令 Docker帮助命令 docker version:查看docker版本 docker in...

  • Docker基础操作

    Docker部署 Docker安装 镜像加速 Docker 基础命令 Docker镜像管理 搜索镜像docker ...

  • docker容器状态查看命令集

    docker inspect 用法 : docker inspect [docker名称/docker short...

网友评论

      本文标题:Docker

      本文链接:https://www.haomeiwen.com/subject/hfsdmktx.html