Docker基本命令

Docker基本服务命令

启动docker

$ service docker start

重启docker

$ service docker restart

停止docker

$ service docker stop

docker自启动

让它随服务器的启动而自动运行

$ update-rc.d docker defaults
$ systemctl enable docker

Docker基础命令

启动/停止/重启/杀掉容器

docker start/stop/restart/kill

实例操作如下:
$ docker start myweb
$ docker stop myweb
$ docker restart myweb
$ docker kill -s kill myweb
参数 -s  #向容器发送信号

创建并启动一个新的容器

docker run
常用参数如下:
-d #后台运行容器,并返回容器ID
-i #以交互式模式运行容器,常与-t参数同时使用
-t #给容器重新分配一个伪终端,常与-i参数同时使用
–name #给容器指定一个名称
-m #指定容器使用内存的最大值
–net #指定容器使用的网络类型
–link #链接到另一个容器

实例操作如下:
$ docker run -d --name nginx nginx:latest
#后台启动并运行一个名为nginx的容器,运行前它会自动去docker镜像站点下载最新的镜像文件
$ docker run -d -P 80:80 nginx:latest
#后台启动并运名为nginx的容器,然后将容器的80端口映射到物理机的80端口
$ docker run -d -v /docker/data:/docker/data -P 80:80 nginx:latest
#后台启动并运名为nginx的容器,然后将容器的80端口映射到物理机的80端口,并且将物理机的/docker/data目录映射到容器的/docker/data
$ docker run -it  nginx:latest /bin/bash
#以交互式模式运行容器,然后在容器内执行/bin/bash命令

删除容器

docker rm
常用参数如下:
-f #强制删除一个运行中的容器
-l #删除指定的链接
-v #删除与容器关联和卷

实例操作如下:
$ docker rm -f mydocker
强制删除容器mydocker
$ docker rm -f dockerA dockerB
强制删除容器dockerA,dockerB
$ docker rm -v mydocker****
删除容器,并删除容器挂载的数据卷

创建一个新的容器但不启动它

docker create
$ docker create --name myserver nginx:latest
09b93464c2f75b7b69f83d56a9cfc23ceb50a48a9db7652ee4c27e3e2cb1961f
#创建一个名为myserver的容器

在运行的容器中执行命令

docker exec
常用参数如下:
-d #在后台运行
-i #保持STDIN打开
-t #分配一个伪终端

实例操作如下:
$ docker exec -it mydocker /bin/sh /server/scripts/docker.sh
hello world
以交互模式执行容器中的/server/scripts/docker.sh脚本
$ docker exec -it mydocker /bin/sh
以交互模式给容器分配一个伪终端连接

列出容器(正在运行)

docker ps
常用参数如下:
-a #列出所有容器包括停止的
-f #根据条件过滤显示内容
-l #列出最近创建的容器
-n #列出最近创建的N个容器,N为数字
-q #只显示容器ID
-s #显示总文件大小

#列出最近创建的2个容器
$ docker ps -a -q
bd96d72ed9c7
665563143eb7
f2304dad5855
9921d2660307
显示所有容器的ID

获取容器的元数据

docker inspect
常用参数如下:
-f #指定返回值格式或模板文件
-s #显示总文件大小
–type #为指定类型返回JSON

$ docker inspect <container id or name>

获取docker容器(container)的ip地址

docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

删除<none>的镜像

docker rmi $(docker images -f "dangling=true" -q)
文章目录
  1. Docker基本服务命令
    1. 启动docker
    2. 重启docker
    3. 停止docker
    4. docker自启动
  2. Docker基础命令
    1. 启动/停止/重启/杀掉容器
    2. 创建并启动一个新的容器
  3. 删除容器
    1. 创建一个新的容器但不启动它
    2. 在运行的容器中执行命令
    3. 列出容器(正在运行)
    4. 获取容器的元数据
  4. 获取docker容器(container)的ip地址
  5. 删除<none>的镜像