docker的基本命令

1、获取镜像:

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

例:docker pull ubuntu:16.04

2、运行:

docker run -it --rm  \

ubuntu:16.04 \

bash

docker run 就是运行容器的命令。

       -i:交互操作,-t:终端

       --rm:容器推出后将其删除

       Ubuntu:16.04 指用Ubuntu:16.04镜像作为基础启动容器

       Bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是bash

3、列出镜像

Docker image ls命令

列表包括仓库名、标签、镜像id、创建时间、所占用的空间。

4、虚悬镜像

       docker    image     ls     -f    dangling=true

一般来说,虚悬镜像已经失去了存在的价值,可以随意删除,可以用下面的命令删除

       Docker image prune

5、删除镜像

       用ID删除镜像,一般取前3个字符以上,只要有区别于别的镜像就可以

       docker image rm 501

       docker image rm centos

    #删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)

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

         以命令行方式启动docker容器,并在退出时自动删除,使用bash作为当前shell

                  docker run -it --rm org.pzy/base_os:1.0 /bin/bash

 

6、用docker image ls 命令来配合

       像其它可以承接多个实体的命令一样,可以使用docker      image     ls     -q来配合使用docker image   rm   ,这样可以成批的删除希望删除的镜像。

例如,要删除所有仓库名为redis的镜像

       docker image rm $(docker image ls -q redis)

或者删除所以在mongo:3.2之前的镜像:

       docker image rm $(docker image ls -q -f before=mongo:3.2)

7、使用dockerfile定制镜像

       以定制nginx镜像为例,这次我们使用dockerfiel来定制

mkdir mynginx

cd mynginx

touch dockerfile

其内容为:

       FROM nginx

       RUN echo ‘<h1>hello,docker!</h1>’ >/usr/share/nginx/html/index.html

注:run 运行的的一般放在一行

8、构建镜像

       在Dockerfile文件所在目录执行:docker build -t nginx:v3 .             

9、COPY复制文件

              COPY     <源路径>...   <目标路径>

              COPY     ["<源路径1>",...   "<目标路径>"]    

例如:COPY package.json /usr/src/app/     (注:可以使用通配符,如pack*)

10、ADD更高级的复制文件

       ADD可以复制并解压文件,如果不解压就不能使用ADD了。

11、CMD容器启动命令

       CMD指令与run相似,也用两种格式

①shell格式:      CMD      <命令>

②exec格式:    CMD      ["可执行文件",      "参数1", "参数2"...]

如果使用shell格式的话,实际的命令会被包装为sh -c的参数进行执行。比如:

       CMD      echo       $HOME

在实际执行中,会将其变更为:

CMD      [      "sh", "-c", "echo     $HOME" ]

12、ENTRYPOINT  入口点

       ENTRYPOINT 的格式和RUN指令格式一样,分为exec 格式和shell格式

当指定了ENTRYPOINT后,cmd的含义就发生了改变,不在是直接的运行其命令,而是将cmd的内容作为参数传给ENTRYPOINT指令,将变为:<ENTRYPOINT>  "<CMD>"

       场景一:让镜像变成像命令一样使用

假设我们需要一个得知自己当前公网ip的镜像,那么可以先用cmd来实现:

       FROM    ubuntu:16.04

RUN apt-get update\                      

&& apt-get  install     -y    curl \                          

&& rm   -rf   /var/lib/apt/lists/*

CMD      [      "curl",     "-s", "http://ip.cn" ]

13、ENV设置环境变量

       格式有两种:

              ENV <key> <value>

              ENV <key1>=<vlaue1> <key2=value2>…

       这个指令很简单,就是设置环境变量而已,无论是后面的其他指令,如run,还是运行时的应用,都可以直接使用这里定义的环境变量。

       例如:ENV VERSION=1.0 DEBUG=on \

                     NAME=”HAPPY FEET”

       下列指令可以支持环境变量展开:

                            ADD  COPY   ENV  EXPOSE   LABEL  USER  WORKDIR  VOLUME STOPSIGNAL   ONBUILD

 

 

一些必要的命令:{

docker exec -it test-1 sh :进入一个正在运行的容器

docker run -it -d –name test-1 –network my-net busybox:运行容器并把busybox别名改为test-1,以后启动容器就可以使用别名启动了。并且把容器放在my-net网络上。

Docker network inspect bridge :来看改网络的详细信息

Docker run -it -d –link test-1 –name test-2 busybox:进入test-2,通过网络别名可以ping通test-1

 

用户自定义的桥接网络

Docker network create my-net(请参阅 docker network create reference或输出docker network create --help)

将一个正在运行的容器连接到现在自定义的网卡上。使用:docker network connect 命令

例如:将运行的my-nginx容器连接到已经存在的my-net网络上

              Docker network connect my-net my-nginx

断开容器与自定义的网络连接。使用:docker network disconnect命令

       例如:my-nginx容器与my-net网络断开连接

              Docker network disconnect my-net my-nginx

Docker run -it -d –name test-1 –network my-net busybox

}

 

 

14、docker create :创建一个新的容器但不启动它

       例如:使用docker镜像nginx创建一个容器,并将容器命名为my-runoob

              docker create --name myrunoob nginx

15、Docker exec:在运行的容器中执行命令

       -d :分离模式,在后台运行

       -i  :即使没有附加也保持stidin打开

       -t  :分配一个伪终端

       例如:在容器 mynginx中以交互模式执行容器内/root/runoob.sh脚本

              docker exec -it mynginx /bin/sh /root/runoob.sh

       在容器mynginx中开启一个交互的终端

              docker exec -i -t mynginx /bin/bash

16、Docker push :将本地的镜像上传到镜像仓库,要先登录到镜像仓库

       例如:上传本地镜像myapache到镜像仓库中

              docker push myapache

17、Docker build:用于使用dockerfile创建镜像

       例如:使用当前目录的dockerfile创建镜像,标签为 runoob/ubuntu:v1

              docker build -t runoob/ubuntu:v1 .

       例如:使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像

              docker build github.com/creack/docker-firefox

       例如:也可以通过-f Dockerfile 文件的位置

              docker build -f /path/to/a/dockerfile .

18、Docker start/stop/restart:

       docker start :启动一个或多个已经被停止的容器

       docker stop :停止一个运行中的容器

       docker restart :重启容器

19、Docker rm:删除一个或多少容器

       -f:通过sigkill信号强制删除一个运行的容器

       -l:一处容器间的网络连接,而非容器本身

       -v:删除与容器关联的卷

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值