docker常用命令

1、在 Mac 上启动 Docker 需要使用 Docker Desktop而不是在终端直接启动 Docker 服务

2、Docker Hub 是一个官方的公共镜像仓库,可以让开发者在上面查找、下载、上传、管理 Docker 镜像,而无需自己搭建私有仓库。Docker Hub 上面包含了数以万计的镜像,包括操作系统、开发语言、应用服务器、数据库等各种软件和工具,可以方便地让开发者部署和运行容器化应用。同时,Docker Hub 还提供了自动构建、自动部署、用户管理等一系列功能,使得开发者可以更方便地使用 Docker 技术。

  1. 镜像(Image):Docker 镜像是一个只读的模板,可以用来创建 Docker 容器。一个镜像可以包含一个完整的操作系统环境、应用程序以及其他需要运行的程序库和依赖项。

  2. 容器(Container):Docker 容器是从 Docker 镜像创建的运行实例。容器是一个独立的、可执行的应用程序,包含了所需的运行环境、代码和依赖项。它可以与宿主机分离,也可以与其他容器分离运行。

  3. 仓库(Repository):Docker 仓库是用于存储和分享 Docker 镜像的地方。Docker 官方提供了 Docker Hub 作为官方仓库,用户可以在上面上传和下载 Docker 镜像。用户也可以搭建自己的 Docker 仓库来管理自己的镜像。

  4. Dockerfile:Dockerfile 是一个文本文件,包含了构建 Docker 镜像所需要的一系列指令和参数。通过编写 Dockerfile,可以自动化构建镜像。

  5. Registry:Registry 是 Docker 仓库的实现,它用于存储 Docker 镜像。Docker 官方提供了 Docker Hub 作为官方 Registry,用户也可以自行搭建私有 Registry。

  6. Swarm:Docker Swarm 是 Docker 官方提供的集群管理和编排工具,它允许用户在多个 Docker 节点之间进行负载均衡和服务发现。使用 Docker Swarm 可以轻松地横向扩展应用程序,提高应用程序的可用性和可靠性。

# 版本信息
docker version


# 登录
docker login


# 列出本地主机上已经下载的Docker镜像列表
docker image ls


# 用于列出容器,-a 参数表示所有容器
docker ps # 列出正在运行的Docker容器
docker ps -a  # 列出所有Docker容器
docker ps -aq --format '{{.ID}} {{.Names}}' #只列出id和name
docker images |grep -i db2  #按条件搜索镜像:name包含db2


# 启动\关闭镜像
docker restart 7aa154d9b73c
docker stop 7aa154d9b73c

# 镜像详细信息
docker inspect 5aadcbf7a570


# 查看日志
docker logs 2b361ff3aaba
docker logs -f 0c48417419de  # 用于实时地输出日志,即持续地将新的日志内容显示在终端上


# docker下载管理软件
docker search mysql.     # 查找可用版本镜像
docker pull mysql 8.0.29 # 拉取指定版本镜像
docker pull mysql:latest # 拉取最新版本镜像

# 软件设置:
docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=root  docker.io/mysql:latest

docker run: 启动一个新容器。
-d: 让容器在后台运行。
-p 3306:3306: 将容器的 3306 端口映射到主机的 3306 端口。
--name mymysql: 给容器取一个名字为 "mymysql"。
-e MYSQL_ROOT_PASSWORD=root: 设置容器中的 MYSQL_ROOT_PASSWORD 环境变量的值为 "root",即设置 MySQL 的 root 用户的密码为 "root"。
docker.io/mysql:latest: 指定要启动的容器镜像为 Docker Hub 上的 mysql 镜像,并使用该镜像的最新版本("latest")

docker run -d -p 5000:22 --name centos7-test --privileged=true centos:centos7 /usr/sbin/init

-d 表示以“后台模式”(detached mode)运行容器;
-p 5000:22 表示将容器内的 22 端口映射到宿主机的 5000 端口,以便可以通过 SSH 访问容器;
--name centos7-test 表示将容器命名为 "centos7-test";
--privileged=true 表示在容器内部开启特权模式,让容器拥有宿主机的所有权限;
centos:centos7 表示使用 Docker Hub 上的 CentOS 7 镜像;
/usr/sbin/init 表示容器启动后要执行的命令,这里是启动 systemd 进程,以便可以像在普通的 CentOS 系统上一样管理容器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值