docker常见问题

[复制链接]

1275

主题

1275

帖子

1013

积分

金牌会员

Rank: 6Rank: 6

积分
1013
分享到:
发表于 2022-6-15 16:22:43 | 显示全部楼层 |阅读模式
一、常见问题

1.镜像的容器运行时,如果未提供ip a或者ifconfig命令,所有用法以下两种方查看容器ip:

1)切换到某个容器:docker attach xxxx (比如docker attach nginx);然后cat /etc/hosts;

2)直接在宿主机执行命令:docker inspect xxxx (比如docker inspect nginx);
会回显一个json串信息,就包含了查询的容器ip;

2.启动容器时报错:找不到/bin/bash
可以在启动容器时不指定解释器/bin/bash,即:

docker run -it -d --name ng nginx:latest
而不要使用如下命令

docker run -it -d --name ng nginx:latest /bin/bash

3.无法附着到容器,即docker attach没反应
可以在容器已经运行的情况下,使用下面命令(注意一定时docker容器已经运行):

docker exec -it CONTAINER ID /bin/bash 或者 docker exec -it NAME /bin/bash

CONTAINER ID和NAME表示已运行的容器ID和容器名;但是这种方式,每执行一个命令,都要在docker容器内开启一个新的进程;
以这种方式切换到容器后,如果通过exit,ctrl+C,ctrl+D方式退出,容器并不会停止运行,所以这是一种比较保险的方式,防止误停止容器运行;

4.从docker hub官方镜像站pull的镜像,运行的容器缺少命令
我从docker官网拉取了nginx镜像,运行后进入容器内部,发现没有wget命令,然后理所当然的安装wget命令:

apt-get -y install wget
但是又会报下面的错误:

这是因为最初的镜像运行的容器中,软件源中的所有软件列表(即/erc/apt/sources.list)未更新导致;执行以下命令后,再进行安装即可;

apt-get update
如果公司不支持外网链接,无法更新软件源,则可在公司内部的镜像站上搜debian,然后然后使用说明,手动替换/erc/apt/sources.list文件内容即可;

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表