[h’程序员’] Docker

作者: zhuangjie 分类: 未分类 发布时间: 2025-02-11 23:41

Docker 是一个容器化平台,用于开发、部署和运行应用

https://www.docker.com/

一键安装命令

来源:通用 | 国内

#安装docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
#安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Docker 容器相关命令

查看容器

docker ps             # 查看正在运行的容器
docker ps -a          # 查看所有容器, 包括已经退出的

创建并启动容器

docker run 参数 版本:版本号 </bin/bash>   # 默认为/bin/bash
  • 参数说明
    • -i:保持容器运行。通常与-t同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
    • -t:为容器重新分配一个伪输入终端,通常与-i同时使用。
    • -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec进入容器,示例:docker exec -it c2 /bin/bash。退出后,容器不会关闭。
    • -it:创建的容器一般称为交互式容器。
    • -id:创建的容器一般称为守护式容器。
    • --name:为创建的容器命名。
    • -p-p <宿主机端口>:<docker容器虚拟机端口>
  • -it 启动交互式容器
  • -d 启动守护式容器。如果容器中的应用应该以守护的方式运行,那就会导致容器的自杀,因为容器觉得当前已经没有什么事情可做了。此时需要结合 -it -d-it 让程序觉得还有事,-d 表示在后台运行(或进入容器终端后,使用 Ctrl+P+Q 也可以退出且保持在后台运行)。

进入容器

  • exec 方式:进入容器后,使用 exit 退出后容器不会停止。

    docker exec 参数      # 退出容器,容器不会关闭
    # 示例:docker exec -it c_mysql /bin/bash
    
  • attach 方式:与 exec 不同,进入容器后,使用 exit 退出后容器会停止。使用 Ctrl+P+Q 退出交互模式并保持容器运行。

    docker attach 容器ID
    

停止容器

docker stop 容器名称
#全部停止示例:docker stop `docker ps -aq`
#强制停止:docker kill 容器名称或ID

启动容器

docker start 容器名称

删除容器

如果容器处于运行状态,删除将失败,需要先停止容器才能删除。

docker rm 容器名称
#删除所有容器:docker rm `docker ps -aq`
#强制删除:docker rm -f 容器名称或ID

查看容器信息

docker inspect 容器名称

查看容器中的进程

docker top 容器ID

CP命令

可以将容器中的文件复制到宿主机中:

docker cp 容器ID:/aa  ./

导入导出命令

导出命令不会保留容器状态,容器中之前运行创建的文件会一同导出为镜像文件。导入后,重新运行容器时,之前里面的服务不会自动启动(例如 tomcat)。

docker export 容器ID > XXX.tar
cat XXX.tar | docker import - zhuangjie/ubuntu:7

需要注意的是,导入后,运行容器时需要加上 /bin/bash

另外,docker savedocker load 命令可用来导入和导出镜像:

docker save -o XXX.tar 镜像ID
docker load -i XXX.tar

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

标签云