docker常用命令(二)

docker常用命令(二)
docker常用命令汇总

3)docker容器命令

  1. docker run 启动容器
Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用参数
在这里插入图片描述

docker run -it ubuntu /bin/bash
docker run --name=ubuntu_007 -it ubuntu /bin/bash

  1. docker ps 列出当前正在运行的容器命令
Usage:  docker ps [OPTIONS]
[root@WIND ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
159540a83147   ubuntu    "bash"        5 seconds ago    Up 4 seconds              flamboyant_bouman
e5b9db89eb05   ubuntu    "/bin/bash"   26 seconds ago   Up 25 seconds             ubuntu_007
[root@WIND ~]#

docker ps -a 列出当前正在运行的及历史运行过的容器
-n参数显示最近创建的n个容器,包括已经停止的容器
在这里插入图片描述
3. docker run 启动的容器,怎么退出
exit命令直接退出,容器会停止
ctrl + p + q 退出,容器不会停止

启动已经停止的容器
docker start 容器ID或者容器名
停止正在运行的容器
docker stop 容器ID或者容器名
重启正在运行的容器
docker restart 容器ID或者容器名
强制停止容器
docker kill 容器ID或者容器名
删除已经停止发容器
docker kill 容器ID或者容器名(-f参数强制删除正在运行的容)
删除当前主机所有的容器,包括正在运行的,操作之后容器历史记录都无法再插到
docker rm -f $(docker ps -qa)
docker ps -a -q | xargs docker rm -f

[root@WIND ~]# docker rm -f $(docker ps -qa)
d3a76c59d9f7
a377d10709de
81ba5bce6a7e
f8c8b6d00b0a
75a818ad74c4
9397e6a0cd0e
a5b4c365f498
a314baa8f432
02d02cc63721
bc0b5a5aff68
5edb0ed93c92
cd4154169336
34ce13d1b457
269efecd4202
1edfabfbc754
[root@WIND ~]#
[root@WIND ~]#
[root@WIND ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@WIND ~]#
  1. 启动容器后台运行服务
    docker run -d
    docker 容器在后台运行就必须有一个前台进程,容器运行的命令如果不是一直挂起的命令(top, tail等),就会马上退出

docker logs 查看容器日志

[root@WIND ~]# docker logs cfc74b0d5a66
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2022/02/27 09:58:55 [notice] 1#1: using the "epoll" event method
2022/02/27 09:58:55 [notice] 1#1: nginx/1.21.5
2022/02/27 09:58:55 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6)
2022/02/27 09:58:55 [notice] 1#1: OS: Linux 4.18.0-193.28.1.el8_2.x86_64
2022/02/27 09:58:55 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2022/02/27 09:58:55 [notice] 1#1: start worker processes
2022/02/27 09:58:55 [notice] 1#1: start worker process 31
2022/02/27 09:58:55 [notice] 1#1: start worker process 32

docker top 查看容器内部运行的进程

[root@WIND ~]# docker top cfc74b0d5a66
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                9575                9555                0                   17:58               ?                   00:00:00            nginx: master process nginx -g daemon off;
101                 9626                9575                0                   17:58               ?                   00:00:00            nginx: worker process
101                 9627                9575                0                   17:58               ?                   00:00:00            nginx: worker process

docker inspect ,查看容器内部

docker exec -it 容器ID bashshell , 进入容器并以命令行交互
docker attach 容器ID

[root@WIND ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
cfc74b0d5a66   nginx     "/docker-entrypoint.…"   15 minutes ago   Up 15 minutes   80/tcp    stupefied_chebyshev
f1f3be2dbfc5   ubuntu    "/bin/bash"              28 minutes ago   Up 28 minutes             u009
e063ad4e501e   ubuntu    "/bin/bash"              32 minutes ago   Up 32 minutes             u007
[root@WIND ~]# docker attach e063ad4e501e
root@e063ad4e501e:/# exit
exit
[root@WIND ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
cfc74b0d5a66   nginx     "/docker-entrypoint.…"   15 minutes ago   Up 15 minutes   80/tcp    stupefied_chebyshev
f1f3be2dbfc5   ubuntu    "/bin/bash"              28 minutes ago   Up 28 minutes             u009
[root@WIND ~]#

exit -it 和attach 进入容器是有区别的
在这里插入图片描述
一般情况下,我们更常用exec -it
docker top查看容器的进程
[root@WIND ~]# docker top f1f3be2dbfc5
UID PID PPID C STIME TTY TIME CMD
root 9105 9085 0 17:45 pts/0 00:00:00 /bin/bash
[root@WIND ~]#
在另一个终端进入容器
[root@WIND ~]# docker exec -it f1f3be2dbfc5 bash
root@f1f3be2dbfc5:/#
再次docker top, 可以看到多了一个bash进行
root@f1f3be2dbfc5:/#
[root@WIND ~]# docker top f1f3be2dbfc5
UID PID PPID C STIME TTY TIME CMD
root 9105 9085 0 17:45 pts/0 00:00:00 /bin/bash
root 9893 9085 4 18:18 pts/1 00:00:00 bash
[root@WIND ~]#

同样流程用attach参数去操作,就不会看到有多一个bash进程

docker cp 拷贝docker容器里面的文件

从容器拷贝文件到主机
[root@WIND ~]# docker cp /root/posts.sql f1f3be2dbfc5:/tmp/
[root@WIND ~]#
[root@WIND ~]# docker exec -it f1f3be2dbfc5 /bin/bash
root@f1f3be2dbfc5:/# ls /tmp/
a.txt  posts.sql
拷贝文件到容器
[root@WIND ~]# docker cp f1f3be2dbfc5:/tmp/a.txt /opt/
[root@WIND ~]# ls /opt/
a.txt  bak_db_log.txt  bak_html_log.txt  containerd
[root@WIND ~]#

docker export 导出整个容器的内容作为一个归档文件(相当于备份整个容器)
docker import 导出的docker归档文件恢复成为一个镜像

[root@WIND ~]# docker export f1f3be2dbfc5 > u009.tar.gz
[root@WIND ~]#
[root@WIND ~]# cat u009.tar.gz | docker import - u009_from_tar:latest_009
sha256:b94b09f8d67331478049c9d10c023503183c9fecf98e49b6277020261055f465
[root@WIND ~]#
查看恢复的镜像
[root@WIND ~]# docker images
REPOSITORY      TAG          IMAGE ID       CREATED         SIZE
u009_from_tar   latest_009   b94b09f8d673   4 seconds ago   73.4MB
nginx           latest       605c77e624dd   8 weeks ago     141MB
ubuntu          latest       ba6acccedd29   4 months ago    72.8MB
[root@WIND ~]#
[root@WIND ~]# docker run -it b94b09f8d673 /bin/bash
root@ac528e12cb0e:/# ls /tmp/
a.txt  posts.sql
root@ac528e12cb0e:/#

最后可以看到新恢复的docker 容器里面,是有我们之前拷贝进去的文件的
可以通过这样的操作,来现实数据迁移的,且保证数据的一直性
常用命令汇总:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值