常用命令
docker run
docker run 选项 镜像 命令 命令参数...
选项
--name表示为启动的容器起个名字,这个名字在宿主机上唯一-t为docker分配一个伪终端并绑定到容器的标准输入上-i是让容器的标准输入保持打开状态-v目录映射,实现数据的持久化,冒号前面表示宿主机的目录,后面是容器内目录。目录不存在会自动生成。-p端口映射,宿主机端口:容器端口-e表示要设置环境变量-d表示要以分离模式(也就是后台模式)启动容器,这样执行后会返回容器ID,不会进入交互界面。如果想要进入交互界面需要-i 和-t参数。--privileged表示是否使用特权模式,设置–privileged=true提升系统执行权限。设置为true后,容器内的root用户才是真正的root权限,否则只是一个普通用户。
容器列表
# 正在运行中的容器
docker ps
# 所有容器
docker ps -a
# 只获取容器id
docker ps -a -q
# 指定输出的内容
docker ps -a --format "table {{.ID}}\t{{.Names}}"
名称 含义
.ID 容器ID
.Image 镜像ID
.Command 执行的命令
.CreatedAt 容器创建时间
.RunningFor 运行时长
.Ports 暴露的端口
.Status 容器状态
.Names 容器名称
.Label 分配给容器的所有标签
.Mounts 容器挂载的卷
.Networks 容器所用的网络名称
.Repository 镜像名称
.Size 镜像大小
.Tag 镜像标签
.CreatedAt 创建图像的时间
进入容器
docker exec -it 容器名称/ID /bin/bash
注意:有的镜像可能没有/bin/bash命令
容器-d 模式启动后,需要登录容器才能在其中进行操作。docker exec适用于在现有容器中运行命令的情况。此时需要进行交互,所以需要加上熟悉的 -it。
docker exec -it nginx:v1 /bin/sh
停止,启动,重启,删除
docker stop docker_id
docker start docker_id
docker restart docker_id
# 删除没有运行的容器
docker rm docker_id
# 删除运行中的容器
docker rm -f docker_id
# 停止所有容器
docker stop $(docker ps -a -q)
# 删除所有容器
docker rm -f $(docker ps -a -q)
端口映射
目录映射
windows的目录映射,要这样写
docker run -itd --name ng_v3 -p 83:80 -v G:\\IT\\go_pro\\gin_study\\dockerfile_study\\html:/usr/share/nginx/html nginx:v3
如果报错,需要加一下权限
