IT评测·应用市场-qidao123.com技术社区
标题:
【Docker基础】Docker日常使用
[打印本页]
作者:
缠丝猫
时间:
2024-11-3 13:51
标题:
【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
复制代码
[/code] [size=4][align=center][img=1200,335]https://i-blog.csdnimg.cn/direct/e5892444119b402a906285cbeb818836.png[/img][/align][/size]
[size=4]2.3 查找Nginx镜像[/size]
[size=3]docker search[/size]
[code]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
[/code] [size=4]2.8 常见问题记录[/size]
[size=3]问题现象[/size]
[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 验证容器运行
访问 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的基础概念及常用操纵,后续还会继续更新跟云相关的内容,敬请等候~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/)
Powered by Discuz! X3.4