Docker学习笔记(五)— Docker 命令 – 常用其他命令(日志、元数据、进程的查看、进入容器和拷贝命令)

Docker Alice 5个月前 (12-12) 192次浏览 0个评论

Docker 的常用命令

四、常用其他命令

1、后台启动容器

# 命令 docker run -d 镜像名
[root@cloud /]# docker run -d centos

# 问题:使用 docker ps 命令时,发现 centos 停止了
# 常见的坑:docker 容器使用后台运行时,就必须要有一个前台进程,docker 发现没有应用时,就会自动停止
# 比如要安装 nginx,使用 docker 安装后,容器启动,发现自己没有提供服务,就会立刻停止,就是没有程序了

2、查看日志

# 命令 docker logs -f -t --tail 容器  # 查看日志

# 自定义 shell 脚本
[root@cloud /]# docker run -d centos /bin/bash -c "for((i=1;i<=10;i++));do echo $i;done"

# 显示日志
-tf            # 显示所有日志
--tail number  # 显示日志条数

[root@cloud /]# docker logs -tf --tail 10 1e1b41363f4c
或
[root@cloud /]# docker logs -f -t --tail 10 1e1b41363f4c

[root@cloud /]# docker logs -tf 1e1b41363f4c

3、查看容器中进程信息

# 命令 docker top 容器 id
[root@cloud /]# docker top 0560c182ce9a
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                23903               23883               0                   16:07               pts/0               00:00:00            /bin/bash

4、查看镜像的元数据

# 命令 docker inspect 容器 id
[root@cloud /]# docker inspect 0560c182ce9a

5、进入当前正在运行的容器

# 我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

# 方式一
# 命令 docker exec -it 容器 id bashShell

[root@cloud /]# docker ps 
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
0560c182ce9a   centos    "/bin/bash"   25 minutes ago   Up 25 minutes             elated_dijkstra
[root@cloud /]# docker exec -it 0560c182ce9a /bin/bash
[root@0560c182ce9a /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@0560c182ce9a /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 08:07 pts/0    00:00:00 /bin/bash
root        18     0  0 08:33 pts/1    00:00:00 /bin/bash
root        33    18  0 08:33 pts/1    00:00:00 ps -ef

# 方式二
# 命令 docker attach 容器 id
[root@cloud /]# docker attach 0560c182ce9a

# docker exec   # 进入容器后开启一个新的终端,可以在里面操作(常用)
# docker attach # 进入容器正在执行的终端,不会启动新的进程!

6、从容器内拷贝文件到主机上

# 命令 docker cp 容器 id:容器内路径  目的的主机路径

# 查看当前主机目录下
[root@cloud home]# ls
www  wwwlogs  wwwroot
[root@cloud /]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
f7c524a3f26f   centos    "/bin/bash"   20 seconds ago   Up 18 seconds             bold_lichterman

# 进入 docker 容器内部
[root@cloud /]# docker attach f7c524a3f26f
[root@f7c524a3f26f /]# cd /home 
[root@f7c524a3f26f home]# ls

# 在容器内新建文件
[root@f7c524a3f26f home]# touch test.php
[root@f7c524a3f26f home]# ls
test.php
[root@f7c524a3f26f home]# exit
exit
[root@cloud /]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@cloud /]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED             STATUS                           PORTS     NAMES
f7c524a3f26f   centos    "/bin/bash"              2 minutes ago       Exited (0) 4 seconds ago                   bold_lichterman

# 将容器内新建的文件拷贝到主机上
[root@cloud /]# docker cp f7c524a3f26f:/home/test.php /home
[root@cloud /]# cd /home/
[root@cloud home]# ls
home  test.php  www  wwwlogs  wwwroot

 

分享:Docker学习视频地址:【狂神说 Java】Docker 最新超详细版教程通俗易懂


女程序员博客 , 版权所有丨本站采用BY-NC-SA协议进行授权 , 转载请注明Docker 学习笔记(五)— Docker 命令 – 常用其他命令(日志、元数据、进程的查看、进入容器和拷贝命令)

【声明】:本博客仅为分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。

【关于安全】:任何 IDC 都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。

喜欢 (3)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址