【Docker基础】Docker日常使用

打印 上一主题 下一主题

主题 1602|帖子 1602|积分 4806

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
前言、Docker基本概念

1. 镜像(Image)

镜像相当于一个root文件系统,常见的nginx,mysql,redis等软件可以做成一个镜像
2. 容器(Container)

容器是镜像创建的运行实例,是一个镜像实例化后的运行环境,运行的内容是镜像
每个容器都可以被启动、开始、制止、删除
3. 堆栈(Repository)

一个代码控制中心,用来生存镜像。分为公共存储库和私有存储库
最大的官方堆栈是 Docker Hub
国内可使用阿里云、网易、中科大品级三方堆栈
  1. 部分镜像源说明:
  2. Docker 官方镜像(中国区):https://registry.docker-cn.com
  3. 网易云:http://hub-mirror.c.163.com
  4. 中科大: https://docker.mirrors.ustc.edu.cn
  5. Azure 中国:https://dockerhub.azk8s.cn
  6. 腾讯云公共镜像: https://mirror.ccs.tencentyun.com
  7. 阿里云公共镜像: https://registry.cn-hangzhou.aliyuncs.com
  8. 百度镜像:https://mirror.baidubce.com
  9. {
  10.   "registry-mirrors": [
  11.     "https://registry.docker-cn.com",
  12.     "http://hub-mirror.c.163.com",
  13.     "https://dockerhub.azk8s.cn",
  14.     "https://mirror.ccs.tencentyun.com",
  15.     "https://registry.cn-hangzhou.aliyuncs.com",
  16.     "https://docker.mirrors.ustc.edu.cn",
  17.     "https://docker.m.daocloud.io",   
  18.     "https://noohub.ru",
  19.     "https://huecker.io",
  20.     "https://dockerhub.timeweb.cloud"
  21.   ]
  22. }
复制代码

一、Docker管理命令

1.1 管理Docker状态

  1. Systemctl status docker        #查看Docker状态
  2. Systemctl stop docker          #暂停Docker进程
  3. Systemctl start docker         #启动Docker进程
  4. Systemctl restart docker       #重启Docker进程
复制代码

1.2 查察Docker版本

docker version

  1. #查看Docker版本
  2. docker -v
  3. docker version
复制代码

docker info

  1. docker info        #查看docker配置信息
复制代码

1.3 查找docker镜像

docker search

  1. docker search rancher        #docker查找某个docker镜像
复制代码


1.4 检查是否安装Docker(yum检查)

  1. #确认本机Docker是否yum安装
  2. yum list installed
  3. yum list installed | grep docker
  4. Rpm -qa | grep docker
复制代码

1.5 移除旧版本Docker

  1. #Yum移除旧版本docker
  2. yum remove docker docker-common docker-client
复制代码

1.6 编辑Docker配置文件

/etc/docker/daemon.json

  1. #编辑Docker配置文件
  2. vi /etc/docker/daemon.json
  3. {
  4.     "registry-mirrors": [
  5.         "https://docker.m.daocloud.io",
  6.         "https://dockerproxy.com",
  7.         "https://docker.mirrors.ustc.edu.cn",
  8.         "https://docker.nju.edu.cn"
  9.     ]
  10. }
  11. sudo systemctl daemon-reload      #更新加载配置
  12. sudo systemctl restart docker     #重启docker
  13. docker info                       #检查新配置的地址是否出现在Registry Mirrors
  14. docker search rancher             #查找某个docker镜像,检查镜像源是否生效
复制代码
1.7 国内可用的Docker镜像堆栈

  1. vi /etc/docker/daemon.json
  2. {
  3.     "registry-mirrors": [
  4.         "https://docker.m.daocloud.io",
  5.         "https://dockerproxy.com",
  6.         "https://docker.mirrors.ustc.edu.cn",
  7.         "https://docker.nju.edu.cn"
  8.     ]
  9. }
复制代码

二、Docker新建应用(以nginx为例)

2.1 Docker通用管理命令

docker -h


2.2 查察本地Docker镜像

docker images

  1. docker images
复制代码
  1. [/code] [size=4][align=center][img=1200,335]https://i-blog.csdnimg.cn/direct/e5892444119b402a906285cbeb818836.png[/img][/align][/size]
  2. [size=4]2.3 查找Nginx镜像[/size]
  3. [size=3]docker search[/size]
  4. [code]docker search nginx
复制代码
2.4 拉取Nginx镜像

docker pull

  1. docker pull nginx
复制代码
2.5 运行Nginx容器

docker run

  1. docker run --name my-nginx -d -p 8080:80 nginx
复制代码
2.6 查察Nginx容器历程

docker ps

  1. docker ps
复制代码


2.7 登录容器历程

docker exec -it /bin/bash

  1. docker exec -it  <container-id> /bin/bash
  2. docker exec -it  <container-id> /bin/sh
复制代码

docker exec -it /bin/sh

  1. [/code] [size=4]2.8 常见问题记录[/size]
  2. [size=3]问题现象[/size]
  3. [code]OCI runtime exec failed: exec failed: unable to start container process: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown
复制代码
缘故原由分析

情况1

通常出现的情况如下:


  • 容器内部缺少必要的依赖项
  • 容器内部的可执行文件不存在或损坏
情况2

假如你在Dockerfile中引用了自定义脚本,比如:entrypoint:./entrypoint.sh,没有给该脚本单独添加运行权限 chmod +x ./entrypoint.sh,也大概报这个错
办理方式

脚本类型,最常见的两种/bin/sh 和/bin/bash
提示没有/bin/bash,用/bin/sh登录
2.9 验证容器运行

  1. 访问 http://localhost:8080
复制代码


三、Docker镜像管理(以nginx为例)

3.1 登陆Docker镜像堆栈

docker login

3.2 推送Docker镜像到镜像堆栈

docker tag

docker push

推送本地docker镜像到阿里云私有堆栈
3.3 拉取Docker镜像到本地

docker pull

3.4 查察Docker镜像详情

docker inspect

  1. #查看镜像详情
  2. docker inspect <image-id>
  3. #阿里云公共镜像仓库
  4. registry.cn-hangzhou.aliyuncs.com
复制代码
四、Docker容器管理

4.1 查察Docker容器历程

docker ps


4.2 查察容器日记

docker logs

  1. docker logs  <container-id>
复制代码
4.3 查察Docker容器分析

docker top

4.4 查察Docker容器状态监控

docker container stats

docker stats

  1. docker stats <container-id>
复制代码



写在最后

以上是Docker的基础概念及常用操纵,后续还会继续更新跟云相关的内容,敬请等候~



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

缠丝猫

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表