您现在的位置是:首页 > 技术教程 正文

Docker-基本命令

admin 阅读: 2024-03-18
后台-插件-广告管理-内容页头部广告(手机)

目录

一、Docker与虚拟机技术

二、Docker功能

三、安装

安装:

1、环境准备:

2、安装docker

3、配置阿里云镜像加速

4、Docker是怎么工作的

5、Docker为什么比虚拟机快

四、docker命令

1、镜像命令    Docker官方镜像库:https://hub.docker.com/

2、容器命令

3、日志打印

4、查看进程信息

5、查看容器信息

6、文件copy

7、端口暴漏

8、查看cpu状态

9、portainer可视化面板

五、Docker镜像

1、Docker加载原理

2、分层原理

六、Commit镜像


一、Docker与虚拟机技术

传统虚拟机,虚拟一条硬件,运行一个完整的操作系统,然后在系统上安装和运行软件

容器内应用直接运行在宿主机的内核上,容器没有自己的内核,也没有虚拟硬件

每个容器之间,互相隔离,拥有自己单独的文件系统,互补影响。

二、Docker功能

1、简化程序

2、节省开支

3、便于迁移

4、简化运维与开发

三、安装

1、镜像(image):好比一个模板,用来创建容器服务,如tomcat镜像文件  =>  run  =>  tomcat容器,可以通过一个镜像创建多个容器(好比一个类可以创建多个对象,可以为对象提供各种方法服务)

2、容器(container):独立运行一个或一组应用,通过镜像创建(互相隔离,比如对象对象之间互相隔离)

3、仓库(repository):存放镜像的地方,分为公有仓库和私有仓库

安装:

1、环境准备:

  1. #linux服务器,版本3.10.0以上
  2. #查看linux版本命令:
  3. uname -r

2、安装docker

  1. #卸载旧版本
  2. sudo yum remove docker \
  3. docker-client \
  4. docker-client-latest \
  5. docker-common \
  6. docker-latest \
  7. docker-latest-logrotate \
  8. docker-logrotate \
  9. docker-engine
  10. #需要的安装包
  11. sudo yum install -y yum-utils
  12. #设置镜像仓库
  13. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  14. #安装docker相关的
  15. sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  16. #启动docker
  17. systemctl start docker
  18. #查看docker是否启动成功
  19. docker version
  20. #测试hello world
  21. docker run hello-world
  22. #查看镜像
  23. docker images
  24. #卸载docker
  25. sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  26. rm -rf /var/lib/docker #docker默认工作路径

3、配置阿里云镜像加速

镜像加速器镜像加速器地址
Docker 中国官方镜像https://registry.docker-cn.com
DaoCloud 镜像站http://f1361db2.m.daocloud.io
Azure 中国镜像https://dockerhub.azk8s.cn
科大镜像站https://docker.mirrors.ustc.edu.cn
阿里云https://ud6340vz.mirror.aliyuncs.com
七牛云https://reg-mirror.qiniu.com
网易云https://hub-mirror.c.163.com
腾讯云https://mirror.ccs.tencentyun.com
  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://registry.docker-cn.com"]
  5. }
  6. EOF
  7. sudo systemctl daemon-reload
  8. sudo systemctl restart docker

4、Docker是怎么工作的

Docker 是一个 CS架构,Docker 的守护进程运行在主机上,通过TCP协议从客户端访问,Docker server接收到Docker-Client的指令,就会执行这个命令;

5、Docker为什么比虚拟机快

Docker的容器是一个阉割版的Linux服务器,

Docker具有比虚拟机更少的抽象层

Docker利用的是宿主机的内存,VM需要利用Guest OS的内存

四、docker命令

  1. docker ps 查看当前运行中的容器
  2. docker images 查看镜像列表
  3. docker rm container-id 删除指定 id 的容器
  4. docker stop/start container-id 停止/启动指定 id 的容器
  5. docker rmi image-id 删除指定 id 的镜像
  6. docker volume ls 查看 volume 列表
  7. docker network ls 查看网络列表
  8. docker info 系统信息,包括镜像和容器的数量
  9. docker version 系统版本
  10. docker --help 帮助

1、镜像命令    Docker官方镜像库:https://hub.docker.com/

  1. docker images 查看镜像
  2. -a 查看所有镜像
  3. -q 查看所有镜像ID
  4. docker pull[:tag] 下载镜像,可选版本
  5. docker 采用分层下载,同个镜像不同版本,在不同层次上依赖的数据相同
  6. docker可以将不同版本依赖的相同项共用,只下载不同项文件。
  7. docker rmi -f ID/Name 依据ID或者name删除iamge
  8. docker rmi -f ${docker images -a -q} 删除所有的镜像
  9. docker rmi -f id1 id2 id3 删除多个image

2、容器命令

  1. 下载镜像
  2. docker pull tomcat
  3. 运行容器
  4. docker run [可选参数] image 创建运行容器
  5. -d 后台运行,守护进程
  6. --name 给容器起名字
  7. -P 8081:8080 端口映射
  8. -p 随机指定端口
  9. -it 使用交互式方式运行,进入容器查看内容
  10. 进入与退出容器
  11. docker run -it -p 8088:8080 -d tomcat 运行容器
  12. docker exec -it 容器i bash
  13. docker attach 容器ID 进入容器
  14. 区别:
  15. exec 进入容器开启一个新的终端
  16. attach 进入容器,不会开启新线程
  17. 可以进入查看一些容器的目录
  18. exit 退出容器并停止
  19. ctrl + p + q 退出容器不停止容器
  20. 查看容器
  21. docker ps 查看正在运行容器
  22. docker ps -a 查看所有运行的容器
  23. docker ps -n=1 只显示一个容器
  24. -q 显示容器的ID
  25. docker rm ID 删除容器,只能删除停止的容器
  26. docker rm -f ${docker ps -aq} 删除所有容器
  27. rm id1 id2 id3 删除所有容器
  28. 停止容器
  29. docker start id 启动容器
  30. docker restart id 重启容器
  31. docker stop id 停止容器
  32. docker kill id 停止容器

容器内的内容阉割了一些功能和文件,所以有部分命令是无法使用的

3、日志打印

docker logs -tf --tail 10 ID 打印容器日志,后面10行

4、查看进程信息

docker top ID

5、查看容器信息

docker inspect ID

6、文件copy

docker cp id:文件path 目的path 从容器内copy到容器外

7、端口暴漏

需要大同外网到云服务器之间的通路,还需打通linux 与 容器之间的通路,使用 -p 8080:8080即可打通。

8、查看cpu状态

docker stats 查看cpu状态

9、portainer可视化面板

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

五、Docker镜像

镜像为轻量级的软件包,用户打包软件运行环境

获取镜像:远程仓库下载,复制粘贴,自己定制Dockerfile

1、Docker加载原理

联合文件系统:一种分层、轻量级并且高性能的文件系统,及与其他镜像共享部分依赖的文件,如:A,B镜像共享C,先安装了A的同时,C也安装,那么在安装B时,就无需在安装C。

bootfs:系统启动需要引导加载的文件

rootfs:在bootfs之上的,不同操作系统

所有的rootfs依赖于bootfs

2、分层原理

高层复用底层文件

六、Commit镜像

修改镜像

docker commit -m="描述信息" -a="作者" 容器id 目标镜像名:[tag]

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜