docker 知识点
-
docker 仓库地址:https://store.docker.com/
-
docker run参数说明:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
参数 | 说明 |
---|---|
--name [name] | 为容器指定一个名称 |
-d | --detach,后台运行容器,并返回容器ID |
-P | --publish-all,容器内部使用的网络端口,随机映射到主机的端口 |
-p, --publish [主机端口]:[容器内部端口] | 容器内部使用的网络端口,绑定到指定的主机端口,比如:80:80,8080:80 |
--add-host [host]:[ip] | 添加host到ip的映射(host:ip), 比如:m1.baidu.com:10.10.10.10 |
-v, --volume [宿主机目录]:[镜像目录] | 把宿主机上的目录挂载到镜像目录,比如:/soft:/data |
-t | --tty,在新容器内指定一个伪终端或终端。 |
-i | --interactive,允许你对容器内的标准输入 (STDIN) 进行交互。 |
-v | --volume value,绑定本机目录到容器目录 |
--rm | 如果容器存在,自动将其删除 |
docker run
命令示例:
命令 | 说明 |
---|---|
docker run -it nginx:latest /bin/bash |
使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。 |
- docker 常用命令:
命令 | 说明 |
---|---|
docker [COMMAND] --help | 查看某个命令的详细信息 |
docker version | 版本信息 |
docker info | |
docker images | 查看运行的docker |
docker ps -a | 查看终止状态的容器 |
docker start [容器id/name] | 启动容器 |
docker stop [容器id/name] | 关闭容器 |
docker restart [容器id/name] | 重启容器 |
docker rm [容器id/name] | 删除容器 |
docker exec -it [容器名] bash | 进入容器的bash |
docker pull [REPOSITORY:TAG] | 从镜像仓库中拉取或者更新指定镜像 |
docker logs -f [容器id/name] | 查看容器内部的标准输出(包括:WEB 应用程序日志等) |
docker top [容器id/name] | 查看容器内部运行的进程 |
docker inspect [容器id/name] | 查看 Docker 的底层信息 |
docker ps -l [容器id/name] | 查询最后一次创建的容器 |
docker search | 搜索镜像 |
docker commit | 提交容器副本 |
docker build | 从零开始,创建一个新的镜像 |
docker tag | 为镜像添加一个新的tag |
docker port adoring_stonebraker | 查看容器内部端口的绑定情况 |
-
查看:容器内部的端口映射到本地主机的端口(0.0.0.0意思是本机)
通过 docker ps 命令可以查看到容器的端口映射,docker 还提供了另一个快捷方式 docker port,使用 docker port 可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。 -
当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。
-
使用
REPOSITORY:TAG
来运行不同的镜像
如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像。 -
创建镜像
当我们从docker镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。
- 从已经创建的容器中更新镜像,并且提交这个镜像
- 使用 Dockerfile 指令来创建一个新的镜像
- Uninstall old versions:https://docs.docker.com/engine/install/centos/#uninstall-old-versions
执行命令后,会提示类似:【您的事务已保存,请执行:yum load-transaction /tmp/yum_save_tx.2022-12-23.15-49.eNRDOk.yumtx 重新执行该事务】,执行该事务语句即可。