【Docker基础】Docker日常使用

前言、Docker基本概念

1. 镜像(Image)

镜像相当于一个root文件系统,常见的nginx,mysql,redis等软件可以做成一个镜像

2. 容器(Container)

容器是镜像创建的运行实例,是一个镜像实例化后的运行环境,运行的内容是镜像

每个容器都可以被启动、开始、停止、删除

3. 仓库(Repository)

一个代码控制中心,用来保存镜像。分为公共存储库和私有存储库

最大的官方仓库是 Docker Hub

国内可使用阿里云、网易、中科大等第三方仓库


部分镜像源说明:
Docker 官方镜像(中国区):https://registry.docker-cn.com
网易云:http://hub-mirror.c.163.com
中科大: https://docker.mirrors.ustc.edu.cn
Azure 中国:https://dockerhub.azk8s.cn
腾讯云公共镜像: https://mirror.ccs.tencentyun.com
阿里云公共镜像: https://registry.cn-hangzhou.aliyuncs.com
百度镜像:https://mirror.baidubce.com

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://dockerhub.azk8s.cn",
    "https://mirror.ccs.tencentyun.com",
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.m.daocloud.io",   
    "https://noohub.ru", 
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud" 
  ]
}

一、Docker管理命令

1.1 管理Docker状态

Systemctl status docker        #查看Docker状态
Systemctl stop docker          #暂停Docker进程
Systemctl start docker         #启动Docker进程
Systemctl restart docker       #重启Docker进程

1.2 查看Docker版本

docker version

#查看Docker版本
docker -v
docker version

docker info

docker info        #查看docker配置信息

1.3 查找docker镜像

docker search

docker search rancher        #docker查找某个docker镜像

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

#确认本机Docker是否yum安装
yum list installed
yum list installed | grep docker
Rpm -qa | grep docker 

1.5 移除旧版本Docker

#Yum移除旧版本docker
yum remove docker docker-common docker-client

1.6 编辑Docker配置文件

/etc/docker/daemon.json

#编辑Docker配置文件
vi /etc/docker/daemon.json

{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}

sudo systemctl daemon-reload      #更新加载配置
sudo systemctl restart docker     #重启docker


docker info                       #检查新配置的地址是否出现在Registry Mirrors
docker search rancher             #查找某个docker镜像,检查镜像源是否生效

1.7 国内可用的Docker镜像仓库

vi /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}

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

2.1 Docker通用管理命令

docker -h

2.2 查看本地Docker镜像

docker images

docker images
 

2.3 查找Nginx镜像

docker search

docker search nginx

2.4 拉取Nginx镜像

docker pull

docker pull nginx

2.5 运行Nginx容器

docker run

docker run --name my-nginx -d -p 8080:80 nginx

2.6 查看Nginx容器进程

docker ps

docker ps

2.7 登录容器进程

docker exec -it /bin/bash

docker exec -it  <container-id> /bin/bash

docker exec -it  <container-id> /bin/sh

docker exec -it /bin/sh

 

2.8 常见问题记录

问题现象

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 验证容器运行

访问 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

#查看镜像详情
docker inspect <image-id>

#阿里云公共镜像仓库
registry.cn-hangzhou.aliyuncs.com

四、Docker容器管理

4.1 查看Docker容器进程

docker ps

4.2 查看容器日志

docker logs

docker logs  <container-id>

4.3 查看Docker容器分析

docker top

4.4 查看Docker容器状态监控

docker container stats

docker stats

docker stats <container-id>

写在最后

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值