创建并运行容器

  1. docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • OPTIONS:
    • -e:环境变量,例如指定mysql默认密码,一般是kv结构
    • -d:守护进程,让容器作为后台进程运行
    • -h:主机名,指定容器运行的hostname
    • -p:端口映射,例如:-p 8080:80,把容器的80端口映射宿主机的8080端口,这样访问宿主机的8080端口就能访问容器的80端口
    • -v:挂载的数据卷,例如:-v /tmp:/var/tmp,把宿主机的/tmp目录挂载到容器的/var/tmp目录。
    • —name:为容器起名
    • —network:设置容器的网络配置
  • IMAGE:镜像名
  • COMMAND:运行的指令,如果未指定则使用镜像默认的指令
  • ARG:COMMAND的参数

sample:
docker run —name my-nginx -p 80:80 -d nginx
docker run —name my-centos -it centos:7 /bin/bash 运行centos并进入

查看容器状态

  1. docker ps [OPTIONS]
  • -a:展示所有容器
  • -l:展示最新创建的容器
  • -q:只展示容器id

sample:
docker ps

启动容器

  1. docker start 容器名

sample:
docker start my-nginx

进入容器

  1. docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
  • OPTIONS:
    • -i:开启一个容器关联的STDIN(标准输入),允许用户通过控制台输入命令
    • -t:分配一个虚拟的TTY终端,让用户与容器交互
  • CONTAINER:容器名称或者容器id
  • COMMAND:进入容器后要执行的命令
  • ARG:命令参数

sample:
docker exec -it my-nginx bash
bash指允许使用bash命令,即与linux交互的命令。

退出容器

  1. exit

停止容器

  1. docker stop 容器名

sample:
docker stop my-nginx

重启容器

  1. docker restart 容器名

sample:
docker restart my-nginx

查看容器运行日志

  1. docker logs [OPTIONS] CONTAINER
  • OPTIONS:
    • -f:跟踪显示日志,当有新日志产生,控制台会持续打印日志
    • —tail:指定输出最后n行日志,不指定则显示所有日志
  • CONTAINER:容器名或容器id

sample:
docker logs -f my-nginx

删除容器

  1. docker rm [OPTIONS] CONTAINER [CONTAINER...]
  • OPTIONS:
    • -f:docker rm只能删除停止状态的容器,-f强制删除一个运行中的容器
    • -v:删除容器的同时,删除关联的数据卷
  • CONTAINER:容器名或容器id