Docker常用命令
Redis 常用命令,备查!
1、测试 Docker 是否正常安装
docker run hello-world
2、Docker 状态信息查看
docker info
3、Docker 镜像管理
3.1 创建镜像
方法一:根据 Dockerfile 创建镜像
- 创建Dockerfile文件及其相关依赖文件
- 切换到Dockerfile文件所在目录,执行如下命令:
docker build -t <镜像名称> .
方法二:根据已有镜像实例化后进行交互式环境修改后保存
- 根据已有镜像实例化容器,记录容器ID,并进入交互式命令行
docker run -it <已有镜像名称> /bin/bash
- 在交互式命令行执行相关操作后退出交互式命令行
- 执行如下命令创建镜像
docker commit <容器ID> <镜像名称>
3.2 查看镜像
docker images
3.3 查看某个镜像详情
docker inspect <镜像名称>
3.4 删除镜像
docker rmi <镜像名称>
PS:对于存在容器的镜像需要先删除容器
3.5 为镜像添加标签
docker tag <旧镜像名称> <新镜像名称>
PS:该命令会在原有的镜像上重新生成一个新的镜像名称对应该镜像
3.6 拉取镜像
docker pull <镜像名称>
3.7 推送镜像
docker push <镜像名称>
4、容器操作
4.1 Docker 运行容器
基本命令:
docker run -参数 <镜像名称> <执行命令>
-
参数:
- -it:-i参数用设置容器中的STDIN是开启的。-t参数表示为创建的容器分配一个伪tty终端。 二者通常联合使用。
- –name 容器名:用于为启动的容器设置一个容器名称。
- -d:将程序放在后台执行,用于创建守护式容器。
- –restart:设置自动重启,可以设置什么情况下重启,例如–restart=always,-restart=on-failure:5。
- -p:端口映射。例如:8000:80表示将容器的80端口映射到宿主机的8000端口。80表示将容器的80端口映射到宿主机的任意端口。
- -P:端口映射,将容器Dockerfile中EXPOSE指定的端口映射到宿主机的任意端口。
- -w:指定工作目录。
- -h:为容器设置HOST主机名称。
- –entrypoint:强制指定启动程序。
- -v:卷映射。示例:/home/nianshi/logs:/logs表示将宿主机的/home/nianshi/logs目录挂载到容器的/logs目录下。
- –link:容器链接。示例:redis:db表示将容器名称为redis的容器连接到新建的容器上,同时设置别名为db。此时在新容器中可以使用db来表示redis容器的地址。
- –volumes-from:参数用于连接某个指定容器的卷,从而可以访问到指定容器中的所有的卷。示例:blog_demo表示新容器中挂载了blog_demo容器中所有的卷。
- –rm:表示容器运行完成后自动删除。
-
镜像名称:
此处镜像名称需要输入完成的镜像名称。
镜像名称的格式如下:[Registry/][username/]简要镜像名称[:标签]
PS:其中Registry默认为Docker Hub地址; 对于官方源,username不需要填写,否则必填;简要镜像名称必填;标签默认为latest。 -
执行命令:
执行命令为启动容器时需要执行的操作。
例如:/bin/bash
4.2 Docker 启动/停止/重启容器
启动一个尚未运行的容器:
docker start <容器名称/容器ID>
停止一个运行中的容器:
docker stop <容器名称/容器ID>
重启动一个容器:
docker restart <容器名称/容器ID>
4.3 进入容器
docker attach <容器名称/容器ID>
PS:它有一个缺点,只要这个连接终止,或者使用了exit命令,容器就会退出后台运行。
docker exec -it <容器名称/容器ID> /bin/bash
这个命令使用exit命令后,不会退出后台。
4.4 已有镜像中运行命令/启动进程
docker exec -参数 <容器名称/容器ID> <执行命令>
4.5 查看容器
查看在运行容器列表:
docker ps
查看全部容器列表:
docker ps -a
查看容器的详细信息:
docker inspect <容器名称/容器ID>
查某容器日志:
docker logs <容器名称/容器ID>
PS:可以添加-f来监控日志文件,-t参数来增加时间戳。
查看容器进程:
docker top <容器名称/容器ID>
查看容器端口:
docker port <容器名称/容器ID>