docker相关操作

1.docker运行示例:

docker    run   -dit   --name=mingzi   -p  8080:8080  -p  8443:8443    -p      21:21     -p    2204:22   -p    9005:9005    -p    8005:8005     -p    8009:8009     -p   10909:10909    -p      10911:10911    -p    10912:10912     -p    3306:3306    -p    514:514/udp   -p   515:515/udp   -p   69:69/udp   -p   -v    /etc/localtime:/etc/localtime:ro    --privileged    --restart=always    [image-id]     /bin/bash

参数解释:

-v:将宿主机的时间挂载到docker中(挂载localtime文件到容器内),保证两者所用的时区是一致的。注意:如果挂载时间时出现:WARNING:IPv4  forwarding  is  disabled.Networking  will   not   work.则编辑/usr/lib/sysctl.d/00-system.conf文件,后面追加:net.ipv4.ip_forward=1即可。

-i:让容器的标准输入保持打开

-t:分配一个伪终端绑定在标准输入上

-d:以守护态的形式运行容器

--name:给容器命名一个名字

-p:后面接宿主机端口号:docker端口号

--privileged:启动的容器,可以看到很多host上的设备,并且可以执行mount

--restart=always:当docker重启时,容器会自动重启。

2.防火墙设置(设置Centos7防火墙放行端口)

打开防火墙:systemctl    start     firewall.service

放行需要开放的端口:firewall-cmd    --zone=public    --add-port=8080/tcp   --permanent

重新加载防火墙:firewall-cmd    --reload     或者

        systemctl   restart   firewalld.service

查看防火墙端口开放情况:firewall-cmd    --zone=public   --list-all

3.运行容器后的操作

docker   ps:查看容器信息

进入容器:docker   exec   -it    [container   id]    /bin/bash:

退出容器:exit

停止运行容器:docker  stop   [container  id]

删除容器:docker    rm     [container   id]

删除镜像:docker    rmi     [image   id]

4.docker常见问题

(1)启动docker失败:

使用命令systemctl   start  docker 报如下错:
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
解决:升级内核或者禁用/etc/sysconfig/docker文件中的selinux=disable。

(2)初次docker   run  ……失败(失败后存在一个僵尸进程)

报错:/usr/bin/docker-current:Error   response   from   daemon: oci  runtime  eror:container_linux.go:235:strting   container   process   caused  :proes_linux.go:258:applying  cgroup   configuration   for  proces  caused "Cannot  set  property  TaksAccounting,or  unknown   property""

解决:一般由docker版本和linux内核版本不兼容导致,解决办法:

      利用yum   update   命令升级所有的rpm包,也升级软件和系统内核

(3)docker   load   -i   …….tar时,异常退出,退出状态为1.

解决:tar包可能有问题,重新解压zip包

(4)docker端口映射或启动容器时报错

报错:Error   response   from  daemon:driver  failed    programming  external   connectivity   on   endpoint    [container  name]

解决:docker  服务启动时定义的自定义链DOKER由于某种原因被清掉(例,对于已经删除的容器再次docker  run时更改了映射端口),重启docker服务即可重新生成自定义链DOCKER.

systemctl   daemon-reload

systemctl   restart   docker

原文地址:https://www.cnblogs.com/schblog/p/11042750.html