一、Docker概述:
1、Docker是什么?
- 是一种轻量级的“虚拟机”
- 在Linux容器里运行应用的开源工具
2、Docker与虚拟机的区别:
- Docker:应用程序进程,启动时长短,占用资源少,不安全,与宿主机共享内核资源;
- 虚拟机:完完全全的系统。
3、Docker的使用场景:
- 打包应用程序简化部署
- 可脱离底层硬件任意迁移
- 例:服务器从腾讯云迁移到阿里云
4、Docker核心概念:
- 镜像
一个面向Docker容器引擎的只读模板 - 容器
从镜像创建的运行实例 - 仓库
集中保存镜像的地方
5、CentOS安装Docker的两种方式;
- 使用CURL获得Docker的安装脚本进行安装
- 使用YUM仓库来安装Docker 私有仓库:harbor
二、docker的安装部署及基础命令:
1、安装部署docker:
yum install -y yum-utils device-mapper-persistent-data lvm2 底层组件
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
ls /etc/yum.repo.d/ 》》》》docker-ce.repo
yum install -y docker-ce 免费版本的docker引擎
systemctl start docker.service
systemctl enable docker.service
镜像下载加速: tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://apcdfeol0.mirror.aliyuncs.com"]
}
网络优化:vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
service network restart
systemctl resart docker
2、镜像管理:
查看docker版本:docker version
搜索nginx镜像:docker search nginx
下载nginx镜像:docker pull nginx
查看镜像列表:docker images
查看镜像的详细信息:docker inspect nginx:latest ;docker inspect 7e4d58f0e5f3
修改标签:docker tag nginx:latest nginx:web “创建硬链接”
删除镜像:docker rmi nginx:web 存在同一个镜像,多标签,不可以直接加id删除
导出镜像:docker save -o /opt/nginx nginx:latest
导入镜像:docker load < /opt/nginx
3、容器管理:
查看容器列表:docker ps -a “80是容器内部暴露端口”
创建容器:docker create -it nginx:latest /bin/bash
启动容器:docker start 790a7d348a04 (ps -a 里面的码子)
停止容器:docker stop 84718aef3db4
容器的三种状态: Created(刚刚创建) Up(正在运行) Exited(停止)
删除容器:docker rm 84718aef3db4 (ps -a 里面的码子)
下载镜像到创建容器里面查看系统目录:docker run centos:7 /bin/bash -c ls / 停止状态!!
下载镜像到创建容器里面查看系统目录,并使其处于运行状态:docker run -d centos:7 /bin/bash -c "while true;do echo hello;done" “-d:守护进程”
进入容器:docker exec -it 2afdcff1c935 /bin/bash (ps -a 里面的码子)
容器导出:docker export 790a7d348a04 > /opt/nginx_c (ps -a 里面的码子)
容器导入:cat nginx_c | docker import -nginx:web
要想删除镜像:先停容器、再删除容器,才能删除镜像!!
批量删除停止的容器:docker ps -a | awk '{print "docker rm "$1}' | bash bash使前面的命令执行!!