新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、常见问题
1.镜像的容器运行时,如果未提供ip a或者ifconfig命令,所有用法以下两种方查看容器ip:
1)切换到某个容器:docker attach xxxx (比如docker attach nginx)
;然后cat /etc/hosts;
2)直接在宿主机执行命令:docker inspect xxxx (比如docker inspect nginx)
;
会回显一个json串信息,就包含了查询的容器ip;
创新互联-专业网站定制、快速模板网站建设、高性价比洛川网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式洛川网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖洛川地区。费用合理售后完善,10多年实体公司更值得信赖。
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文件内容即可;