Docker常用命令

1. 查看Docker版本
$ docker version

它用于查看Docker的客户端和服务器版本。

2. 从Docker文件构建Docker映像

$ docker build -t image-name docker-file-location

-t:它用于指定使用提供的名称来标记Docker映像。

3. 运行Docker映像

$ docker run -d -it --privileged image-name /usr/sbin/init

-d:用于创建守护程序进程。

4. 查看可用的Docker映像

$ docker images

5. 查看最近的运行容器

$ docker ps -l

-l:它用于显示最新的可用容器。

6. 查看所有正在运行的容器

$ docker ps -a

-a:它用于显示所有可用的容器。

7. 停止运行容器

$ docker stop container_id

container_id:由Docker分配给容器的Id。

8.搜索可用的docker镜像
   docker search image-name

9. 删除一个映像

$ docker rmi image-name

10. 删除所有映像

$ docker rmi $(docker images -q)

docker中批量删除 tag为none的镜像
docker images|grep none|awk '{print $3}'|xargs docker rmi

11. 强制删除所有映像

$ docker rmi -f $(docker images -q)

-f:用于强制删除映像。

12. 删除所有容器

$ docker rm $(docker ps -a -q)

13. 进入Docker容器

$ docker exec -it container-id bash

14.下载docker镜像,注意:这里要写用docker search搜索到的完整的镜像名。

   docker pull image-name

15.提交当前修改后的状态,保存为镜像

    docker commit 容器id 新的镜像名称,运行完返回新版本镜像的id号

16. 推送Docker映像

以下命令用于将docker映像推送到docker中心资源库。

$ docker push  username/image-name
需要登录您的Docker中心的帐户。如果还没有Docker中心的帐户,请先创建它。

$docker login 先登入
 
17.建一个新容器并登入:docker run -i -t IMAGE id /bin/bash

启动一个退出的容器:docker start 容器ID

        进入到已经运行中的容器:docker attach 容器ID




 
18. 挂载数据卷,运行一个普通的容器,用来同步数据
   docker run -v  (主机要共享的目录):(容器上同步的目录)  --name (指定数据卷容器的名称) centos /bin/bash
   冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。默认挂载的路径权限为读写。如果指定为只读可以用:ro,以 / 开头表示为绝对路径
   运行:docker run -v /home/wpb:/home/wpb  --name dataname centos /bin/bash
 
  docker容器内对应的挂载目录中,运行命令ls后提示:
  ls: cannot open directory .: Permission denied
  在运行容器的时候,给容器加特权,及加上 --privileged=true 参数
  docker run -d -v /home/wpb:home/wpb --privileged=true --name dataname centos
19.运行一个新的容器启用镜像,并使用这个数据卷,这样就做到了文件夹文件的同步,运行完成后,进入镜像中
   docker run -it --volumes-from 卷名称 镜像名称
   --volumes-from用来指定要从哪个数据卷来挂载数据,镜像名称:需要启用的镜像
   docker run -it --volumes-from dataname centos /bin/bash
20.当前镜像保存为.tar文件
  docker save 镜像id> /文件保存在主机的目录/文件保存的名称.tar
 
21. 在其他安装好docker的linux系统上载入新的镜像
    docker load --input /文件路径/文件名称.tar
 
22.启动docker服务

  systemctl start docker.service

可选:设置开机启动:systemctl enable docker
23. tag修改镜像名称
docker tag 原镜像名 新镜像名
24.查看容器的ip 地址:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
显示所有容器IP地址:
docker inspect --format='{{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
 

--privileged=true

原文地址:https://www.cnblogs.com/awakenedy/p/10929212.html