docker常用命令:容器外部命令及进入容器内部命令

1.docker run ubuntu echo hello docker
  ·docker run   --运行
  ·ubuntu       --要运行的image的名字
  ·在ubuntu中运行命令 echo hello docker 输出 hello docker
2.docker run nginx 
  ·Unable to find image 'nginx:latest' locally
  ·在运行前先去查找本地是否有image的nginx,没有的话去远端的registery去下载
3.docker images --查看本地所有的images
  ·REPOSITORY   TAG     imageid  created                size
    nginx-hello  latest  0dac...  28 minutes ago         182.8M
4.docker run -p 8080:80 -d nginx-hello:latest (名称为docker images查出来的REPOSITORY的值+tag  -即路径)
  ·17add7....  --启动成功后返回一个container id
  ·-p 8080:80  --端口映射:指把nginx原来的80端口映射为8080端口进行开启
  ·-d          --允许此程序直接返回
  ·使用localhost:8080进行浏览器访问,可查看启动成功
5.docker ps  --查看当前运行中的container
  ·CONTAINERID   IMAGE          COMMAND  CREATDE  STATUS   PORT  NAMES
    17add...      nginx-hello                               443/tcp. 0.0.0:8080->80/tcp 
5.1.docker ps -a --列出所有已运行过得容器,包含已经停止的容器(即运行容器的历史记录)
6.docker cp index.html 17add7bbc...://usr/share/nginx/html
  ·将静态文件copy到17aa...的nginx服务器上,具体路径跟在后面
  ·此时访问:localhost:8080即可访问此文件
7.docker stop 17add7bbc...
  ·停止17aa...的nginx服务
  ·docker run -p 8080:80 -d nginx-hello  --重新打开此服务,HTML文件丢失
  ·所以在进行文件修改后要记得提交:
8.docker commit -m '提交注释' 17add...
  ·保存这个nginx服务(包含已修改文件)
  ·成功后返回:--一个image的id--即新建了一个image
    sha256:84ca813...
  ·docker images --此种提交方式没有指定名称,故如下
    ·REPOSITORY   TAG     imageid    created                size
      <none>       <none>  84ca813... 28 minutes ago         182.8M
9.docker commit -m '提交注释' 17add... nginx-fun
   ·此种提交方式会有名称:
   ·docker images --此种提交方式没有指定名称,故如下
           ·REPOSITORY   TAG     imageid    created                size
              nginx-fun   latest  84ca813... 28 minutes ago         182.8M
10.docker rmi 84ca813...
    ·删除imageid为84ca813...的容器
    ·删除成功,返回:Deleted:sha256:...
    ·docker ps -a --列出所有已运行过得容器,包含已经停止的容器(即运行容器的历史记录)
11.docker rm e7c.. 17a...
    ·删除以上两个id的容器,--基于此命令:docker ps -a -
****************************************************************************
12.docker pull      获取远端images
13.docker build     创建images
14.docker images    列出images
15.docker run       运行container
16.docker ps        列出container
17.docker rm        删除已结束container
18.docker rmi       删除image
19.docker cp        在host和container之间拷贝文件
20.docker commit    保存改动为新的image --创建新的镜像
21.docker top 容器名 查看当前容器正在运行的进程
22.docker inspect 容器名   --容器的相关信息-可查看挂载信息
23.docker logs -f 容器名   --查看web应用日志
24.docker search tomcat    --搜索tomcat镜像
25.docker rmi $(docker images -q) --删除所有镜像
26.docker rmi --force $(docker images | grep doss-api | awk '{print $3}') --强制删除镜像名称中包含“doss-api”的镜像
   
****************************************************************************
docker 启动 web 示例报错如下:
    Error response from daemon: Cannot start container web: iptables failed: iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 32797 -j DNAT --to-destination 172.17.0.30:5000 ! -i docker0: iptables: No chain/target/match by that name.
    1
    解决办法:重建docker0网络恢复
    
    pkill docker 
    iptables -t nat -F 
    ifconfig docker0 down 
    brctl delbr docker0 
    docker -d 
    service docker restart
docker ps           -- 查看当前运行中的docker镜像(以管理员身份运行)
    docker run nginx    -- 以前台方式运行docker,ctrl+c关闭
    docker run -d nginx -- 以后台方式运行docker,返回一个字符串代表容器id
    docker run --help   -- 帮助查看run
    docker stop 容器id  -- 停止运行某容器
    docker run -d -p 8080:80 nginx   --开放指定端口映射   
    docker run -d -P nginx           --开放随机端口映射(可用ps查看具体端口进行访问)
    docker run -d --name 名字 -p 3306:3306 -p 8080:80 镜像名
    netstat -na |grep 32769          --查看32769端口是否被启动
    +++++++++++++++++++++++++++++++++++++++
    --查看容器的挂载位置:显示所有相关配置信息
    docker inspect 0127b
    +++++++++++++++++++++++++++++++++++++++
    -----容器内部
    docker exec --help  -- 帮助查看exec
    ·docker exec -it 容器id截取部分(可唯一确定即可) bash    --进入容器内部--继续执行命令
        ·docker exec -it a11e4c6                      bash
    ·############以下为容器内部执行命令############
        which nginx         --查看nginx路径
        ps -ef              --查看当前服务的进程
        exit                --回到主机
    ·#############################################
    docker stop alle4c6
     -----docker网络-访问容器中的nginx
     1.docker网络类型:
        桥接bridge 
        主机host
        none
     2.端口映射-网络访问
     docker run -d -p 8080:80 nginx   --开放指定端口映射   
     docker run -d -P nginx           --开放随机端口映射(可用ps查看具体端口进行访问)
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐