六、名词解释
#镜像images
就像一个模板,可以创建多个容器,可以看成是孙悟空(镜像),只要孙悟空活着(run命令),拔的每一根猴毛(容器)都可以创建一个小猴子
#容器container:
每一个容器就是一个简易的linux系统
#仓库 repository
就是存放镜像的地方
分为公有仓库和私有仓库
默认就是国外的仓库(可以配置镜像加速,国外的特别慢),
国内仓库像:阿里云、华为云
安装docker
https://docs.docker.com/engine/install/centos/
上图的在第三步下边可以
更新yum软件包的索引
yum makecache fast
7、docker run hello-world
docker run的原理: 先查看本地有没有这个镜像, 如果没有的话,就会在远端仓库pull
8、查看所有的docker镜像: docker images
9、卸载docker
七、使用腾讯云镜像加速器
[root@VM-0-5-centos ~]# mkdir -p /etc/docker
[root@VM-0-5-centos ~]# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
EOF
[root@VM-0-5-centos ~]# systemctl daemon-reload
[root@VM-0-5-centos ~]# systemctl restart docker
八:run的流程和docker的原理
1、 docker run内部做了什么?
2、docker的内部构成
3、为什么docker比vm快的?
九、镜像的基本命令
1.docker version -- 显示docker的版本信息
2. docker info -- 显示docker的系统信息
3.docker 命令 --help
4.docker官方文档
https://docs.docker.com/engine/reference/commandline/images/
5、docker search mysql 和 https://registry.hub.docker.com/search?q=mysql&type=image 这个命令和页面版的是一样的内容
6、docker search 的过滤方法
![image.png](https://upload-images.jianshu.io/upload_images/12238382-62005a9630213b3c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
7、docker pull -- 在docker-hub上拉取镜像
如果是docker pull mysql, 那么mysql的版本就是lastest,最新的版本;
如果是docker pull mysql:5.7, 那么mysql的版本就是5.7的版本;
8、删除image
docker rmi image_id/仓库名称 -- 删除停止的image
docker rmi -f image_id/仓库名称 -- 强制删除image
十: 容器的基本命令
1、我们有了镜像才能创建容器, 我们先创建一个centos
docker pull cenos
(现在有了一个centos的镜像,那么启动run它之后就成为一个容器了,暂时可以成run之前就是镜像,run之后就是一个容器)
2、启动并进入容器
docker run -it centos /bin/bash
3、退出容器
exit
4、列出所有的容器
docker ps
-a #所有的容器
5、删除容器( 运行的容器不能删除)
docker rmi image_id
删除全部的容器 docker rm -f $(docker ps -aq)
删除运行的容器(运行的和停止的) docker rm -f $(docker ps -aq)
6、启动、停止
docker start image_id # 启动
docker restart image_id # 重启
docker stop image_id # 停止
docker kill image_id # 杀死
十一、常用的命令
docker run -d centos()镜像名字
这样后台启动, 在用docker ps 这样看不见上线启动的容器, 为啥?
常见的坑:容器后台启动(-d)
2、查看日志
docker logs -tf --tail 10 image_id
tf : timestamp, follow
10:要显示的条数
自己可以看一下: docker logs --help
自己编写一个脚本:
docker run -d centos /bin/sh -c "while true;do echo baichong;sleep 1;done"
# 容器中的进程信息(在外部查看)
docker top image_id
# 查看镜像的元数据
docker inspect image_id
十二、
# 进入当前正在运行的容器
docker exec -it image_id /bin/bash
或
docker attach image_id
区别:
exec--进入容器后开启一个新的终端, 可以在里边操作
attach:进入容器正在执行的终端,不会启动新的终端进程
# 从容器内拷贝文件到主机上(从内到外)
1)进入容器, 新建bai.py --退出image_id -- 在主机上执行命令 docker cp image_id:/home/bai.py /home/bai
上边是手动式的拷贝, 以后我们使用-v卷的技术,可以实现自动同步