samwellwang

samwellwang

coder
twitter

docker的使用

现在软件开发都用容器化技术了,而 Docker 就是最火的容器化平台。这篇文章就是要教你怎么用 Docker,包括安装、启动、查看、进入、拉取、删除、启动容器,还有各种参数和命令。就像在工作中,你得知道怎么用各种工具,比如锤子、电钻、螺丝刀,才能把东西做好。现在 Docker 就是你工具箱里必不可少的一件利器,用它来搭建开发环境和部署应用程序,简直是 so easy!

Docker 的安装#

Docker 的安装非常简单,只需要到官网下载对应的安装包,然后按照提示进行安装即可。在安装完成后,可以通过以下命令来验证 Docker 是否安装成功:

docker version

如果能够输出 Docker 的版本信息,则说明 Docker 已经成功安装。

Docker 的启动#

在安装完成后,可以通过以下命令来启动 Docker:

systemctl start docker

如果想要 Docker 在系统启动时自动启动,可以使用以下命令:

systemctl enable docker

查看镜像信息#

在使用 Docker 之前,首先需要了解 Docker 镜像的概念。Docker 镜像是一个轻量级、可执行的独立软件包,包含了运行应用程序所需的所有内容,包括代码、运行时环境、库、环境变量和配置文件等。

要查看本地的 Docker 镜像列表,可以使用以下命令:

docker images

该命令会列出本地所有的镜像,包括镜像 ID、镜像名称、镜像标签和镜像大小等信息。

进入镜像#

有时候需要进入到某个镜像中进行操作,可以使用以下命令:

docker exec -it 镜像名称 /bin/bash

其中,-it 参数表示以交互式的方式进入容器中,并打开一个终端。/bin/bash 表示进入容器后默认执行的命令是 Bash 终端。

拉取镜像#

如果本地没有所需的 Docker 镜像,可以通过以下命令拉取:

docker pull 镜像名称

该命令会从 Docker Hub 上下载指定的镜像,并保存到本地。

删除容器#

当不需要某个容器时,可以使用以下命令将其删除:

docker rm 容器ID或容器名称

启动容器#

要启动一个容器,可以使用以下命令:

docker run -d -p 主机端口:容器端口 镜像名称

其中,-d 参数表示以后台方式运行容器。-p 参数表示将主机端口映射到容器端口。例如,将主机的 8080 端口映射到容器的 80 端口:

docker run -d -p 8080:80 nginx

以哪个镜像启动一个新镜像#

有时候需要在已有的镜像上进行修改,并生成一个新的镜像。可以使用以下步骤:

  1. 启动一个容器并进入:

    docker exec -it 镜像名称 /bin/bash
    
  2. 在容器中进行修改,并保存更改。

  3. 退出容器,并提交更改:

    docker commit 容器ID 新镜像名称
    
  4. 查看新生成的镜像:

    docker images
    

启动时各种参数#

在启动容器时,可以指定各种参数来满足特定的需求。以下是一些常用的参数:

  • -d:以后台方式运行容器。
  • -p:将主机端口映射到容器端口。
  • -v:将主机目录挂载到容器目录。
  • --name:为容器指定一个名称。
  • --restart:指定容器停止后自动重启的策略。

例如,在启动一个 MySQL 容器时,可以使用以下命令:

docker run -d --name mysql -p 3306:3306 -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

该命令指定了容器名称为 mysql,将主机的 3306 端口映射到容器的 3306 端口,并将主机目录 /root/mysql/data 挂载到容器目录 /var/lib/mysql 中。同时还指定了 MySQL 的 root 用户密码和字符集等参数。

其他相关命令#

除了上述介绍的命令外,Docker 还提供了许多其他相关命令,例如:

  • docker ps:查看正在运行的容器。
  • docker stop:停止正在运行的容器。
  • docker logs:查看容器日志。
  • docker exec:在正在运行的容器中执行命令。
  • docker build:根据 Dockerfile 构建新的镜像。

以上只是部分常用命令,Docker 还提供了许多其他强大的功能和命令,可以根据实际需求进行学习和使用。

总结#

本篇文章介绍了 Docker 的基本使用方法,以及其他的相关命令。Docker 是一款非常强大和灵活的工具,可以帮助开发者更加高效地进行软件开发和部署。

本篇总结大部分来自于Docker - 从入门到实践 和自己工作中的记录

PS#

自从用了 docker 后,想了解很多组件都直接使用 docker 安装,比如 mysql、redis、nginx 等等,这样就不用担心版本问题,也不用担心安装过程中的各种问题,直接拉取镜像,然后启动就可以了,非常方便。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。