一、docker常见命令
docker是一个容器化平台。
Docker介绍:(官网:https://www.docker.com/get-started)
以下是一些常见的 Docker 命令:
- 镜像相关命令:
docker images
:列出本地的镜像。docker pull <image>
:从 Docker 镜像仓库中下载镜像。docker push <image>
:将本地的镜像推送到镜像仓库。docker rmi <image>
:删除本地的镜像。
- 容器相关命令:
docker run <image>
:根据镜像创建并启动一个容器。
-
-d
后台运行容器,并返回容器ID,此时不会进入交互界面,如果想要进入交互界面请加-i和-t参数。
如果用了-d参数未进入容器的时候,在想进入容器,指令:docker exec -it 容器名称 /bin/bash; -
-i
-i: 以交互模式运行容器,通常与 -t 同时使用; -
-t
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; -
-P
-P: 随机端口映射,容器内部端口随机映射到主机的端口 -
-p
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口 -
–name
–name=“xxxxx”: 为容器指定一个名称,名字叫xxxxx; -
–dns
–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致; -
-e
-e username=“ritchie”: 设置环境变量; -
-cpuset
–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行; -
-m
-m :设置容器使用内存最大值; -
-net
–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型; -
-link
–link=[]: 添加链接到另一个容器; -
-expose
–expose=[]: 开放一个端口或一组端口; -
-v
–volume , -v: 绑定一个卷
注意:-v
参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。
容器目录不可以为相对路径。
宿主机目录如果不存在,则会自动生成。
docker start <container>
:启动一个已停止的容器。docker stop <container>
:停止一个正在运行的容器。docker restart <container>
:重启一个容器。docker rm <container>
:删除一个容器。docker ps
:列出正在运行的容器。docker ps -a
:列出所有的容器。
- 日志和输出相关命令:
docker logs <container>
:查看容器的日志。docker exec -it <container> <command>
:在运行的容器中执行命令。
sudo docker exec -it your_container_name python a.py
# 或者直接进入容器后直接python a.py
docker attach <container>
:附加到正在运行的容器的标准输入、输出和错误流。
- 网络和端口相关命令:
docker network ls
:列出 Docker 网络。docker network create <network>
:创建一个自定义网络。docker port <container>
:查看容器的端口映射。
运行 docker --help
或查阅 Docker 官方文档来获取更详细的命令信息和使用说明。
二、注意事项
- 镜像可视为软件包(包括程序运行所需的代码、环境、库文件、系统工具等)
- 下载镜像后可以创建容器,容器是镜像的实例,容器可以被启动、停止、删除和管理,类似一个隔离的进程
- 容器状态可修改,如向容器加入文件、修改配置等
- 如果需要将修改后的容器保存下来,可以通过docker提供的镜像构建命令转为一个新的镜像
Reference
[1] docker官方文档:https://docs.docker.com/engine/reference/run/
[2] docker镜像的制作、导入和导出
[3] 如何使用 Docker 部署容器
[4] 通过pycharm登录远程服务器上的docker的完整过程
[5] 基本 Docker 命令.Microsoft文档
[6] Docker命令及参数详解