1. 后台启动容器
docker run -d 镜像名
问题:使用docker ps 查看容器时,发现centos停止了。
常见的坑:docker 使用后台运行,就必须要有一个前台进程,docker发现没有前台应用,就会自动停止。
2.查看日志
docker logs -tf 容器ID # 查看全部日志
docker logs -tf --tail number 容器ID # 查看N行日志
#注释
-tf # 显示日志
--tail number # 显示日志条数
测试:因为centos镜像启动之后是没有日志的,自己编写一段shell脚本
docker run -d centos /bin/sh -c "while true;do echo test;sleep 3;done;"
3.查看容器中的进程信息
docker top 容器ID
4.查看容器的元数据
docker inspect 容器ID
5.进入当前正在运行的容器
# 方式一:
docker exec -it 容器ID /bin/bash
#方式二:
docker attach 容器ID
# 注释
docker exec # 进入容器后开启一个新的终端,可以在里边进行操作(常用)
docker attach # 进入容器正在运行的终端,不会启动新的进程。
6.从容器内拷贝文件到主机上
docker cp 容器ID:容器内的文件路径 目的地主机路径
# 启动容器
[root@iZuf6ecpsnuw5412vz7xhsZ ~]# docker run -it centos /bin/bash
[root@62778812875d /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@62778812875d /]# cd home
[root@62778812875d home]# ls
# 在容器内新建一个文件
[root@62778812875d home]# touch test.java
[root@62778812875d home]# ls
test.java
# 退出容器
[root@62778812875d home]# exit
exit
[root@iZuf6ecpsnuw5412vz7xhsZ ~]# ls
[root@iZuf6ecpsnuw5412vz7xhsZ ~]# cd /home
[root@iZuf6ecpsnuw5412vz7xhsZ home]# ls
java
[root@iZuf6ecpsnuw5412vz7xhsZ home]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
62778812875d centos "/bin/bash" About a minute ago Exited (0) 29 seconds ago naughty_allen
[root@iZuf6ecpsnuw5412vz7xhsZ home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@iZuf6ecpsnuw5412vz7xhsZ home]#
[root@iZuf6ecpsnuw5412vz7xhsZ home]#
[root@iZuf6ecpsnuw5412vz7xhsZ home]#
#将文件从容器内拷贝到主机上
[root@iZuf6ecpsnuw5412vz7xhsZ home]# docker cp 62778812875d:/home/test.java /home
[root@iZuf6ecpsnuw5412vz7xhsZ home]# ls
java test.java