【容器】docker基础使用

一、image镜像相关命令

以下是一些常用的Docker镜像操作命令:

  1. docker pull <image>:从Docker仓库下载(拉取)一个镜像到本地。

  2. docker images:列出本地已下载的镜像列表。

  3. docker rmi <image>:删除本地的一个镜像。

  4. docker run <image>:运行一个镜像创建的容器。

  5. docker build -t <image>:<tag> <Dockerfile路径>:根据Dockerfile构建一个新的镜像。

  6. docker push <image>:将本地的镜像推送到Docker仓库。

  7. docker save <image> -o <输出文件路径>:将一个镜像保存为一个压缩文件。

  8. docker load -i <输入文件路径>:从一个压缩文件中加载镜像。

  9. docker tag <image> <新的标签>:为一个现有的镜像打标签。

  10. docker inspect <image>:查看一个镜像的详细信息。

二、docker容器常见命令

docker是一个容器化平台。
Docker介绍:(官网:https://www.docker.com/get-started)

Docker 是一个开源的应用容器引擎,你可以把它当作一个轻量级的虚拟机。它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的操作系统,比如 Linux/Windows/Mac 的机器上。Docker 容器相互之间不会有任何接口,而且容器本身的开销极低,这就让 Docker 成为了非常灵活、安全、伸缩性极强的计算资源平台。

以下是一些常见的 Docker 命令:

1. 镜像相关命令:

  • docker images:列出本地的镜像。
  • docker pull <image>:从 Docker 镜像仓库中下载镜像。
  • docker push <image>:将本地的镜像推送到镜像仓库。
  • docker rmi <image>:删除本地的镜像。

2. 容器相关命令:

  • docker run <image>:根据镜像创建并启动一个容器。
  1. -d
    后台运行容器,并返回容器ID,此时不会进入交互界面,如果想要进入交互界面请加-i和-t参数。
    如果用了-d参数未进入容器的时候,在想进入容器,指令:docker exec -it 容器名称 /bin/bash;

  2. -i
    -i: 以交互模式运行容器,通常与 -t 同时使用;

  3. -t
    -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

  4. -P
    -P: 随机端口映射,容器内部端口随机映射到主机的端口

  5. -p
    -p: 指定端口映射,格式为:主机(宿主)端口:容器端口

  6. –name
    –name=“xxxxx”: 为容器指定一个名称,名字叫xxxxx;

  7. –dns
    –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

  8. -e
    -e username=“ritchie”: 设置环境变量;

  9. -cpuset
    –cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;

  10. -m
    -m :设置容器使用内存最大值;

  11. -net
    –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

  12. -link
    –link=[]: 添加链接到另一个容器;

  13. -expose
    –expose=[]: 开放一个端口或一组端口;

  14. -v
    –volume , -v: 绑定一个卷

注意:-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。
容器目录不可以为相对路径。
宿主机目录如果不存在,则会自动生成。

  • docker start <container>:启动一个已停止的容器。
  • docker stop <container>:停止一个正在运行的容器。
  • docker restart <container>:重启一个容器。
  • docker rm <container>:删除一个容器。
  • docker ps:列出正在运行的容器。
  • docker ps -a:列出所有的容器。

3. 日志和输出相关命令:

  • docker logs <container>:查看容器的日志。
  • docker exec -it <container> <command>:在运行的容器中执行命令。
sudo docker exec -it your_container_name python a.py 

# 或者直接进入容器后直接python a.py
  • docker attach <container>:附加到正在运行的容器的标准输入、输出和错误流。

4. 网络和端口相关命令:

  • docker network ls:列出 Docker 网络。
  • docker network create <network>:创建一个自定义网络。
  • docker port <container>:查看容器的端口映射。

运行 docker --help 或查阅 Docker 官方文档来获取更详细的命令信息和使用说明。

三、注意事项

  • 镜像可视为软件包(包括程序运行所需的代码、环境、库文件、系统工具等)
  • 下载镜像后可以创建容器,容器是镜像的实例,容器可以被启动、停止、删除和管理,类似一个隔离的进程
    • 容器状态可修改,如向容器加入文件、修改配置等
    • 如果需要将修改后的容器保存下来,可以通过docker提供的镜像构建命令转为一个新的镜像

在这里插入图片描述

  • 在docker中下载vim:apt-get update && apt-get install -y vim

Reference

[1] docker官方文档:https://docs.docker.com/engine/reference/run/
[2] docker镜像的制作、导入和导出
[3] 如何使用 Docker 部署容器
[4] 通过pycharm登录远程服务器上的docker的完整过程
[5] 基本 Docker 命令.Microsoft文档
[6] Docker命令及参数详解