Docker容器命令

容器的产生

1
docker run 镜像 [其他命令]

docker run 镜像 [其他命令] 会根据镜像来新创建一个容器并且启动这个容器,所以一个镜像可以产生多个容器。如果镜像尚不存在本地则会先运行docker pull 镜像 命令,然后再启动。

1
docker run 镜像 [本文目录:其他命令]

列出在运行容器

1
docker ps

列出所有容器

1
docker ps -a
  • CONTAINER_ID 容器ID
  • IMAGE 镜像名称
  • COMMAND 启动容器时运行的命令
  • CREATED 容器创建时间
  • STATUS 容器运行状态:UP-运行中,Exited:已停止
  • PORTS 容器对外端口号
  • NAMES 容器名称、默认自动生成,可以用 docker run –name 指定

列出所有容器-包括未运行状态的

1
docker ps -a

停止容器

1
docker stop 容器id/容器名称

强制停止容器

1
docker kill 容器id/容器名称

启动已停止的容器

1
docker start 容器id/容器名称

重启容器

1
docker restart 容器id/容器名称

删除容器

强制删除使用 -f

1
2
docker rm 容器id/容器名称
docker rm -f 容器id/容器名称

删除所有容器

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

查看容器端口

1
docker port 容器id

查看容器的内部信息

1
docker inspect 容器id

进入容器

1
2
3
docker exec -i -t 容器id /bin/bash

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

获取容器的 ip

在进入容器之后,可以用下面的命令获得容器的ip

1
2
3
4
#进入容器
docker exec -it 容器id /bin/bash
#查看容器id
cat /etc/hosts

其他命令

例子:docker run -d -p 8080:80 –name mynginx nginx
表示,后台运行,宿主机端口为8080,容器内端口为80,启动容器的名字为nginx,可以通过 宿主机ip:8080/ 访问

后台运行、ip、宿主机端口、容器端口

  • -d 表示后台运行
  • –name mynginx 初始化的容器的名字,这里自定义为 mynginx nginx 镜像的名字
  • -p ip和端口设定,有如下四种模式(hostPort表示所在机器端口,具有唯一性;containerPort表示容器内端口,相互之间不影响。进入容器内其实可以发现,每一个容器都像是一个独立的linux系统)
    • ip:hostPort:containerPort
    • ip::containerPort
    • hostPort:containerPort
    • containerPort

–network 指定网络模式

  • –network=bridge 默认选项,连接默认网桥
  • –network=host 使用宿主机的网络
  • –network=container:NAME_or_ID 新创建容器使用已有容器的网络
  • –network=none 不配置容器的网络,用户可以自定义网络配置
坚持技术分享,您的支持将鼓励我继续创作!