docker常用命令

docker常用命令

SYuan03 Lv4

docker run

1
docker run -it --network mongo-net-1012 --rm mongo mongosh --host my-mongo-1012
  1. docker run: 这是Docker的运行容器命令,用于创建和启动一个新的容器。
  2. -it: 这两个选项组合表示以交互式模式运行容器并分配一个伪终端(TTY)。这允许你在容器内部与终端进行交互。
  3. --network mongo-net-1012: 这个选项将容器连接到名为 mongo-net-1012 的Docker网络,以便容器之间可以相互通信。
  4. --rm: 这个选项指示Docker在容器退出时自动删除容器。这是为了确保容器不会留在系统中,以避免占用存储空间。
  5. mongo: 这是要运行的Docker镜像的名称,它表示你要使用MongoDB官方镜像来创建容器。(这里也可以用image:tag,不加的话默认latest)
  6. mongosh --host my-mongo-1012: 这是要在容器内运行的命令。mongosh 是MongoDB的官方命令行客户端,--host my-mongo-1012 指定了MongoDB服务器的主机名为 my-mongo-1012,以便连接到该服务器。

docker ps

ps即Process Status

启动/停止容器

要启动和停止Docker容器,你可以使用以下两个常用的Docker命令:

  1. 启动容器

    使用 docker start 命令可以启动一个已经创建的但是已经停止的容器。你需要提供容器的名称或容器ID作为参数。例如:

    1
    docker start CONTAINER_NAME_OR_ID

    例如,如果你有一个名为 my-container 的容器,要启动它,可以运行:

    1
    docker start my-container
  2. 停止容器

    使用 docker stop 命令可以停止一个正在运行的容器。你同样需要提供容器的名称或容器ID作为参数。例如:

    1
    docker stop CONTAINER_NAME_OR_ID

    例如,如果你有一个名为 my-container 的容器,要停止它,可以运行:

    1
    docker stop my-container

这些命令允许你在需要时启动或停止容器,以便有效地管理你的Docker容器。

使用names来停止也是可以的

比如docker stop my-mongo-1012

停止所有容器

1
docker stop $(docker ps -q)
  1. docker ps -q:

    • 这个命令用于列出运行中的容器的容器ID,而不包括已经停止的容器。
    • -q 选项代表 “quiet”,它仅返回容器的ID而不显示容器的详细信息。

    例如,执行 docker ps -q 将列出当前正在运行的容器的ID列表。

  2. docker ps -a:

    • 这个命令用于列出所有容器,包括正在运行和已经停止的容器。
    • -a 选项代表 “all”,它显示所有容器的详细信息,包括容器ID、镜像、创建时间、状态等。

    例如,执行 docker ps -a 将列出所有容器的详细信息,无论它们是运行中的还是已经停止的。

使用redis

创建网络

1
docker network create redis-net-1012

启动server

1
docker run --name my-redis-1012 --network redis-net-1012 -p 6379:6379 -d redis:latest

客户端访问

1
docker run -it --network redis-net-1012 --rm redis redis-cli -h my-redis-1012

启动成功

测试

mysql

为了区分,映射了一个51001端口,注意容器端口还得是3306,不然好像连接不上

1
2
3
4
5
6
7
docker pull mysql

docker network create mysql-net-1026

docker run --name my-mysql-1026 --network mysql-net-1026 -e MYSQL_ROOT_PASSWORD=root1234 -d -p 51001:3306 mysql:latest

docker run -it --network mysql-net-1026 --rm mysql:latest mysql -h my-mysql-1026 -u root -p
  • docker run: 启动一个 Docker 容器。

  • -it: 这是两个参数的组合,-i 表示交互式模式,允许您与容器交互,-t 分配一个终端。

  • --network mysql-net-1026: 指定容器连接的网络。在这里,容器将连接到名为 mysql-net-1026 的 Docker 网络,这使得容器可以与该网络中的其他容器进行通信。

  • --rm: 表示容器退出时自动删除容器。这有助于确保在容器退出后不会留下残留的容器。

  • mysql:latest: 指定要运行的 Docker 镜像。在这里,使用了 MySQL 的最新版本。

  • mysql -h my-mysql-1026 -u root -p:

    这是在容器内运行的命令。它执行了以下操作:

    • mysql: 启动 MySQL 客户端。
    • -h my-mysql-1026: 指定要连接的 MySQL 服务器的主机名。在这里,my-mysql-1026 是您 MySQL 容器的主机名,它连接到该容器的 MySQL 服务器。
    • -u root: 指定 MySQL 用户名,这里是 root。
    • -p: 要求输入密码,这样您可以输入 MySQL 的密码以连接到 MySQL 服务器。

进入容器

1
docker exec -it <container_name_or_id> bash
  • 标题: docker常用命令
  • 作者: SYuan03
  • 创建于 : 2023-10-12 11:46:19
  • 更新于 : 2024-03-10 20:20:12
  • 链接: https://bblog.031105.xyz/posts/工具学习/docker常用命令.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论