一、Docker简介
Docker 版本 :版本分为:社区版CE 企业版EE
社区版分为stable和edge俩种发行方式:
stable版本:是季度版发行(三月一更新)
edge版本:是月度版发行(一月一更新)
Docker容器技术(轻量级/操作系统虚拟化方式,由Linux内核支持)
Docker属于PaaS云,docker解决统一运行环境的问题 Docker是一个开源容器项目,诞生于 2013 年初,最初是 dotCloud公司内部的一个业余项目 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 类别:操作系统层虚拟化 优势:1、更快的交付和部署能力 2、更高效的虚拟化 3、更轻松的迁移和扩展 4、更简单的管理 Docker的特点 轻量: 标准: 安全: 容器由两部分组成: 应用程序本身 依赖:比如应用程序需要的库或其他软件 容器的核心技术: 容器规范、容器 runtime、容器管理工具、容器定义工具、Registry以及容器OS
二、Docker安装
使用阿里云yum源安装Docker-CE
安装前提:NAT网络,可以ping通百度,上外网
cd /etc/yum.repos.d find / -name "*.repo" -exec mv {} {}.bak \; wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum -y install yum-utils #安装yum工具包 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum list docker-ce --showduplicates #列出dockerce版本 yum install docker-ce -y systemctl start docker.service useradd docker #创建docker用户 passwd docker ll /run/docker.sock usermod -aG docker docker #将用户docker加到docker组
配置dockerk镜像加速器:
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-‘EOF‘ { "registry-mirrors": ["https://uvbz951q.mirror.aliyuncs.com"] } EOF
启动docker服务
systemctl daemon-reload systemctl restart docker systemctl enable docker docker info #查看镜像加速是否成功
三、Docker应用示例及命令
docker search nginx #搜索和nginx相关的镜像 docker pull nginx #拉取镜像默认版本(下载) docker pull nginx:1.13.2 #拉取镜像指定版本 docker run nginx #运行一个镜像(如果启动后不做任何操作,容器就会断开连接) docker run -it ubuntu /bin/bash #获取终端/bin/bash 打开容器(让容器运行在前台) docker run -itd httpd /bin/bash #在后台运行新镜像 docker attach id号 #将容器调到前台,进入up状态的容器内部 docker start id号 #启动停止的容器(必须在docker ps 中有) docker logs ID号 #查看输出日志 exit //退出容器,容器是关闭状态 ctrl +p +q //退出容器,并且容器是up状态 read escape sequence //退出容器,并且容器是up状态 docker ps -a #列出所有的容器 docker ps #列出所有运行中的容器 docker container ls #列出所有运行中的容器 docker ps -qa #仅输出所有容器的id号 docker rm ID号 #删除指定容器 docker rm -f #删除正在运行的容器 docker rm -f `docker ps -qa` #删除所有的容器 docker images #列出所有镜像 docker rmi ID号 #删除镜像 docker save -o busy.tar busybox #备份镜像 docker load -i busy.tar #导入镜像 容器意外中断: docker run --restart always #不管什么原因停止,全部自动重启 docker run --help #查看帮助 man docker run #查看详细帮助
运行命令实例
eg:在容器内运行应用程序 docker run ubuntu:latest /bin/echo "Hello World" 运行一个容器并执行命令 (一个容器只运行一个服务,运行完就被杀死了) docker ps -a 查看 eg:运行交互式容器: docker run -i -t ubuntu:latest /bin/bash -t:在新容器内指定一个伪终端或终端。 -i:允许你对容器内的标准输入 (STDIN) 进行交互。 eg:让容器运行在后台 -d 在后台运行 -c 指定命令 docker run -d ubuntu:latest /bin/bash -c "while true; do echo "666"; sleep 1; done" docker run -d /bin/bash -c "for i in {1..100}; do echo $i;sleep 1;done" docker logs ID号 #查看输出日志 docker logs -f -t --tail=100 myredis #查看最后100行日志,-f:跟踪实时日志 -t:显示时间戳