docker基础1——相关概念及基本操作讲解
一、相关概念
1,容器与镜像
Docker 是一个开源的应用容器引擎
容器——是独立运行的一个或一组应用,它是一个类似于对象的概念。
有了容器之后就需要有镜像,镜像——就是安装好系统的硬盘文件,由镜像能够生成很多个容器,容器可以想象成类的概念。每个镜像里都设置了相关程序,镜像是一层层组成的,最上面一层设置了运行什么程序,就是说它决定了跑什么容器!
Docker 主机(Host):一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker 客户端(Client):就是连接Host(具体来说host的守护进程)并使用其资源的东东。
Docker 仓库(Registry):仓库嘛,就是用来保存容器的地方咯。
Docker Machine:Docker Machine是一个简化Docker安装的命令行工具
2,docker的架构
架构图特别说下registries,相当于仓库的概念,当有什么镜像需要获取的时候,可以找registries。
二、安装
安装环境为centos7
1,修改centos7网卡
根据VMnet8的网段修改网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens32:
dns和gateway 默认用2
2,安装docker
yum -y install docker
启动docker:
systemctl start docker
3,配置加速器(阿里云版)
登录阿里云后进入:
https://cr.console.aliyun.com/cn-hangzhou/mirrors
根据阿里云加速器配置docker:
4,搜索镜像
https://c.163yun.com/hub#/m/home/
5,验证docker是否安装成功
docker run hello-world
输出:
说明安装成功
三、docker命令(后续实验用到)
1,docker pull 镜像
载入镜像
2,docker tag 镜像
标记本地镜像,将其归入某一仓库。
3,docker rmi 镜像
标记本地镜像,将其归入某一仓库。
4,docker save 镜像名 > filename.tar
保存镜像
5,docker load -i filename.tar
加载镜像
6,把容器导出为镜像 docker export 容器名 > filename.tar
7,导入 cat filename.tar | docker import - 镜像名
8,docker ps查看正在运行的容器
9,docker logs获取容器的日志
10,docker run 创建一个新的容器并运行一个命令
四、测试docker(安装mysql、centos)
接下来,我们以案例按时讲解docker命令
1,安装mysql
docker pull hub.c.163.com/library/mysql:latest #载入镜像
docker images(查看镜像)
2,运行centos
docker run hub.c.163.com/library/centos
为何程序会自动结束?原来运行的容器没有与运行任何进程
因此需要为run加入两个参数: -i 以交互模式运行容器 -t 为容器重新分配一个伪输入终端 这两个参数通常同时使用
docker run -i -t hub.c.163.com/library/centos
3,别名运行
docker run -i -t —name=c1 hub.c.163.com/library/centos
docker ps -a #查看所有容器
4,启动和停止容器
docker start/stop c1
5,进入容器
docker attach c1
或者:docker exec -it c1 /bin/bash
6,查看日志
docker logs c1
7,测试运行 mysql
docker run -dit —restart=always —name=db -p 13306:3306 -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=gzuni hub.c.163.com/library/mysql
MYSQL_ROOT_PASSWORD 物理机密码
8,重命名镜像
docker tag hub.c.163.com/library/mysql com.gzuni.com/test/mysql:v1
9,删除镜像
docker rmi com.gzuni.com/test/mysql:v1
10,查看镜像历史记录
docker history docker.io/mysql
11,镜像保存路径
ls /var/lib/docker/
ls /var/lib/docker/image/
ls /var/lib/docker/image/overlay2/
修改默认路径:
vim /usr/lib/systemd/system/docker.service
12,导出镜像
docker save hub.c.163.com/library/mysql > mysql.tar
13,导入镜像
docker load -i mysql.tar
14,查看运行的进程
ps aux | grep -v grep | grep docker
15,查看 docker 运行/全部容器
docker ps #运行
docker ps -a #全部
16,目录挂载
docker run -dit —name=c1 -v /home/docker/data:/data hub.c.163.com/library/centos
-v 将物理机地址映射到容器目录
对映射后的目录进行修改会影响物理机的原文件。
还没有评论,来说两句吧...