- 查看本地镜像文件:
docker images
- 从镜像库搜索镜像:
docker search [IMAGE NAME]
(支持模糊搜索)
- 从镜像库拉取镜像:
docker pull [IMAGE NAME]
- 删除镜像文件:
docker rmi [IMAGE ID]
(存在容器时不可删除)
- 查询运行容器:
docker container ls
- 查询全部容器:
docker container ls --all
或docker ps -a
- 查看容器详细信息:
docker inspect [CONTAINER ID]
- 停用容器:
docker stop [CONTAINER ID]
- 重启容器:
docker restart [CONTAINER ID]
- 删除容器:
docker rm [CONTAINER ID]
- 进入容器:
docker attach [CONTAINER ID]
根据镜像创建容器并运行
1
| docker run [OPTIONS] [IMAGE NAME]
|
举例
1
| docker run -d --name=genshinhelper -v /etc/genshin:/app/genshinhelper/config --restart always yindan/genshinhelper:latest
|
解释:以进程守护模式启动镜像yindan/genshinhelper:latest
,指定容器名为genshinhelper
,将宿主机的/etc/genshin
目录挂载到容器目录/app/genshinhelper/config
里(读取自定义配置文件),容器退出时重启容器
OPTIONS说明:
- -a stdin: 指定标准输入输出内容类型,可选
STDIN/STDOUT/STDERR
三项;
- -d: 进程守护模式运行容器,即后台运行容器,并返回容器ID;
- -i: 以交互模式运行容器,通常与
-t
同时使用;
- -P: 随机端口映射,容器内部端口随机映射到主机的端口
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- -t: 为容器重新分配一个伪输入终端,通常与
-i
同时使用;
- –name=”nginx-lb”: 为容器指定一个名称,这里为
nginx-lb
;
- –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
- –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
- -h “mars”: 指定容器的
hostname
;
- -e username=”ritchie”: 设置环境变量;
- –env-file=[]: 从指定文件读入环境变量;
- –cpuset=”0-2” or –cpuset=”0,1,2”: 绑定容器到指定CPU运行;
- -m: 设置容器使用内存最大值;
- –net=”bridge”: 指定容器的网络连接类型,支持
bridge/host/none/container
四种类型;
- –link=[]: 添加链接到另一个容器;
- –expose=[]: 开放一个端口或一组端口;
- –volume , -v: 将宿主机目录挂载到容器里,格式为
=/宿主机目录:/容器目录
- –restart: 设置容器的重启策略,以决定在容器退出时Docker守护进程是否重启刚刚退出的容器,策略见下文。
restart重启策略
- no:容器退出时不要自动重启,这个是默认值
- on-failure:在容器非正常退出时(退出状态非
0
),才会重启容器
- on-failure[:max-retries]:当容器非正常退出超过设定的次数才会重启
- always:不管退出状态码是什么,始终重启容器,当指定
always
时,docker daemon将无数次的重启容器,容器也会在daemon启动时尝试重启,不管容器的状态如何。
- nuless-stopped:在容器退出时,总是重启,但不考虑在docker守护进程启动之时,就已经停止了的容器,