docker容器命令

最近在看 《Docker技术入门与实战 第3版》,随笔笔记

创建容器
  • 创建容器

    # 新建容器
    docker create -it ubuntu:latest
    # 查看所有容器
    docker ps -a
    # 启动容器
    docker start 89855bd795a4
    
  • 新建并启动容器(相当于上面三步)

    docker run -it ubuntu:18.04 /bin/bash //启动并启动bash终端
    docker run -it -d ubuntu:latest //启动后台运行
    
    run命令,如果本地没有镜像,会从公共仓库下载。执行用户指定的应用程序;
    -t 让docker分配一个伪终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开, /bin/bash启动bash终端。
    -d 后台运行
    exit //退出容器
    
  • 守护态运行

    docker run -d ubuntu:latest /bin/sh -c "while true;do echo hello world; sleep 1; done"
    
停止容器
  • 暂停容器

    docker pause xxxx
    docker unpause xxx
    
  • 终止容器

    docker stop xxx
    docker start xxx
    docker restart xxx
    
  • 进入容器

    docker exec -it 358853f0a7bb bash
    
  • 删除容器

    docker rm [-f] 358853f0a7bb
    -f 表示强制删除
    
导入和导出容器
  • 导出容器

    docker export -o ubuntu_latest_container1.tar d09841ea1e8c
    或
    docker export d09841ea1e8c > ubuntu_latest_container2.tar
    
  • 导入容器

    docker import ubuntu_latest_container1.tar test/ubuntu:v1.0
    
    [bigtotoro@bigtotoro ~]$ docker images
    REPOSITORY               TAG       IMAGE ID       CREATED         SIZE
    test/ubuntu              v1.0      4d004593f939   6 seconds ago   72.8MB
    

    用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

查看容器
  • 查看容器详情

    docker inspect d09841ea1e8c
    [
        {
            "Id": "d09841ea1e8c920b801f27ca4e1e64b4baa1eae30c23e0753ffa9e7c388dd598",
            "Created": "2021-12-22T14:54:35.113064643Z",
            "Path": "bash",
            "Args": [],
            "State": {
                "Status": "running",
                "Running": true,
                "Paused": false,
                "Restarting": false,
    ...
    ]
    
  • 查看容器内进程

    docker top d09841ea1e8c
    
    bigtotoro@bigtotoro ~]$ docker top d09841ea1e8c
    UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
    root                36290               36270               0                   08:29               ?                   00:00:00            bash
    
    
  • 查看统计信息

    docker stats d09841ea1e8c
    
    CONTAINER ID   NAME           CPU %     MEM USAGE / LIMIT   MEM %     NET I/O       BLOCK I/O   PIDS
    d09841ea1e8c   nifty_euclid   0.00%     536KiB / 3.682GiB   0.01%     1.19kB / 0B   0B / 0B     1
    
其他容器命令
  • 复制文件

    docker cp docs d09841ea1e8c:/tmp   //cp 命名可以将主机文件复制到容器内部
    docker exec -it d09841ea1e8c bash  //进入容器内部
    ll /tmp //查看复制进来的文件 
    
  • 查看容器变更记录

    docker diff d09841ea1e8c
    
    bigtotoro@bigtotoro ~]$ docker diff d09841ea1e8c
    C /root
    A /root/.bash_history
    C /tmp
    A /tmp/docs
    A /tmp/docs/.nojekyll
    A /tmp/docs/CentOS安装docsify.md
    A /tmp/docs/README.md
    A /tmp/docs/index.html
    
  • 查看端口映射

    docker pull nginx:latest //拉取nginx镜像
    docker run -it -d -p 8088:80 nginx:latest //将主机8088映射到容器80端口,并后台启动
    docker port 2555c5251dd1
    
    [bigtotoro@bigtotoro ~]$ docker port 2555c5251dd1
    80/tcp -> 0.0.0.0:8088
    80/tcp -> :::8088
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值