docker基础

六、名词解释

#镜像images
就像一个模板,可以创建多个容器,可以看成是孙悟空(镜像),只要孙悟空活着(run命令),拔的每一根猴毛(容器)都可以创建一个小猴子
#容器container:
每一个容器就是一个简易的linux系统
#仓库 repository
就是存放镜像的地方
分为公有仓库和私有仓库
默认就是国外的仓库(可以配置镜像加速,国外的特别慢),
国内仓库像:阿里云、华为云

安装docker

https://docs.docker.com/engine/install/centos/

image.png

上图的在第三步下边可以
更新yum软件包的索引
yum makecache fast

7、docker run hello-world

docker run的原理: 先查看本地有没有这个镜像, 如果没有的话,就会在远端仓库pull

8、查看所有的docker镜像: docker images
9、卸载docker


image.png

七、使用腾讯云镜像加速器

[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内部做了什么?


image.png

2、docker的内部构成


image.png

3、为什么docker比vm快的?


image.png

九、镜像的基本命令

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卷的技术,可以实现自动同步

十三、命令小结

image.png
image.png
image.png

你可能感兴趣的:(docker基础)