知识讲堂

为您提供行业的产品及技术知识,欢迎一起学习
首页 > 新闻中心 > 常见容器docker问答

常见容器docker问答

2019/05/22 作者: 互盟股份

容器这个词,当你第一眼看它或许脑子里是这东西:瓶瓶罐罐、装水、装其他东西的玩意。不管是什么,总的来说,容器给人第一印象就是——“装”。容器技术作为近两年热门的话题,不管是在运维还是开发上,给我们带来了很多方便的地方,节约了不少成本。今天,小盟就为大家带来有关容器的精华问答!

 

1.Q:一直想用Docker,但是一直又怕影响到服务器上目前的设置,有几个入门的问题:

 

①.安装Docker后,目前的网站会有影响么?是会当成一个默认的容器么?②.只有一个网卡有外网IP,多个容器可以都用这个网卡对外提供Web服务?

 

A:默认就可以,至于默认是什么模式没注意。都是同卡,对现有服务没有任何影响。Docker用虚拟网卡代理自己的所有容器,容器内暴露的端口映射物理机端口即可。比如,容器内tomcat开在8080,容器启动的时候18080:8080,则物理机的18080端口会被Docker的代理转发到容器8080。也就是多Web需要占用Docker个物理机端口。

 

2.Q:执行docker ps时报错:

 

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied,如何解决?

 

A:这是权限的问题,执行时添加sudo,例:sudo docker ps ,只要是非root用户在执行docker时都要添加sudo。

 

3.Q:启动MySQL设置了参数 --restart=always。前些天,MySQL服务可以正常使用。现在不能连接了。查看MySQL容器,status一直是 Restarting (1) 20 seconds ago。当20s走到1分钟时, ports会显示1秒中0.0.0.0:3306-->3306。然后就又进入重启等待过程。不知道是哪里导致了这个问题?

 

$ sudo docker container ls

 

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                          PORTS               NAMES

 

c59ba37a2508        mysql:5.6           "docker-entrypoint.s…"   4 weeks ago         Restarting (1) 20 seconds ago                       mysql5

 

A:通常就是由于修改了一些MySQL的配置文件,或者可能是一些其他的配置,所以导致容器无法启动。用docker logs [容器id] 查看确认一下。如果是需要修改文件的话,需要在主机下重新写一个配置文件,然后复制到容器相对应目录下的文件做替换,一般是:

 

cp  x.cnf /data/docker/volumes/[容器id]/_data /xxx/xxx

 

4.Q:Docker容器内ifconfig修改IP后无法上网,例如172.17.0.2改为172.17.0.3,无法上网,掩码和广播都改过来了,但还是不行?

 

A:如果是通过NAT模式启动的话, 容器内的网络会走宿主机,如果直接更改IP地址,因为不是docker deamon分配的,肯定走不到物理机的网卡,也就会出现无法上网的现象。如果改用bridge模式,是应该可以直接更改IP的。

常见容器docker问答相关文章阅读:

容器云的发展

大数据云平台容器服务是什么

国外云服务器哪家好

东莞主机托管

云管理平台_公有云平台_多云管理