docker 容器部分常用命令

容器命令

说明:我们有了镜像才可以创建容器,下载一个 Centos 镜像来测试

# 下载镜像
docker pull centos

docker run 启动容器

docker run [可选参数] images
# 参数说明
--name="Name"   容器名称 tomat01 tomcat02
-d              后台方式运行
-it             使用交互方式运行,进入容器查看内容
-p              指定容器的端口 -p 8080:8080
    -p ip:主机端口:容器端口
    -p 主机端口:容器端口 (常用)
    -p 容器端口
    容器端口
-P              随机指定端口
​
# 测试
[root@localhost /]# docker run -it centos /bin/bash     #启动并进入容器
[root@2f467d2a0e08 /]# ls   #查看容器内的centos,属于基础版本,很多命令是不完善的。
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@2f467d2a0e08 /]# exit #从容器中退出
exit

 

docker ps 查看容器

# docker ps 命令
        #列出正在运行的容器
-a      #列出当前正在运行的容器+列出历史运行过的容器
-n=?    #列出最近创建的容器
-qhi
​
[root@localhost /]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@localhost /]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMES
2f467d2a0e08        centos              "/bin/bash"         2 minutes ago       Exited (0) About a minute ago                       vigilant_mcclintock
c27487104c37        hello-world         "/hello"            6 hours ago         Exited (0) 6 hours ago                              optimistic_albattani
[root@localhost /]# 

ctrl + P +Q 退出容器

exit        #停止并退出
ctrl + P +Q #容器不停止退出

docker rm 删除容器

docker rm 容器id                  #删除指定容器,不能删除运行的容器,如要删除运行的容器,加-f参数:docker rm -f
docker rm -f $(docker ps -aq)   #删除所有容器
docker ps -a -q|xargs rm        #删除所有容器

docker start/stop 启动和停止容器

docker start 容器id       #启动容器
docker restart 容器id     #重启容器
docker stop 容器id        #停止当前正在运行容器
docker kill 容器id        #强制停止当前容器

docker commit 提交镜像

# 将修改后的容器提交出一个镜像
## 格式:docker commit  容器ID  需要创建的镜像名:版本号 
docker commit  63f49b3bc5ac  Centos-test:v1.0.1 

常用其他命令

# 命令 docker run -d 镜像名
[root@localhost /]# docker run -d centos
​
# 问题: docker ps,发现容器停止了
​
# 常见的坑,docker 容器使用后台运行,就必须要有一个前台进程,docker 发现没有应用,就会自动停止
# nginx 容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了

docker logs 查看日志

[root@localhost /]# docker logs --help
用法: docker logs [OPTIONS] CONTAINER 
Options:
  -f, --follow         Follow log output
      --tail string    #显示日志条数
  -t, --timestamps     #显示时间戳
​
[root@localhost /]# docker logs -tf  --tail 10 容器id
​
#自己编写一个 shell 脚本
docker run -d centos /bin/bash -c "while true;do echo nihao;sleep 1;done"

docker top 查看容器的进程信息

# 命令 docker top 容器id
[root@localhost /]# docker top 67beaa9f2aa3
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                27521               27505               0                   09:42               pts/0               00:00:00            /bin/bash
​
[root@localhost /]# docker top --help
Usage:  docker top CONTAINER [ps OPTIONS]

 

posted on 2020-11-17 12:07  wangzy-Zj  阅读(138)  评论(0编辑  收藏  举报