为了能到远方,脚下的每一步都不能少.|

Miomizu

园龄:1年4个月粉丝:0关注:1

Docker

Docker

安装docker

在 CentOS 操作系统上安装 Docker 可以通过官方的 Docker 社区版(Docker CE)来实现。以下是在 CentOS 7 和 CentOS 8 上安装 Docker 的步骤:

在 CentOS 7 上安装 Docker

  1. 卸载旧版本的 Docker(如果已经安装):

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
  2. 安装所需的依赖包:

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  3. 添加 Docker 的官方存储库:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  4. 安装 Docker:

    sudo yum install docker-ce
  5. 启动 Docker 服务并设置开机启动:

    sudo systemctl start docker
    sudo systemctl enable docker
  6. 验证 Docker 是否安装成功:

    sudo docker --version

在 CentOS 8 上安装 Docker

  1. 安装所需的依赖包:

    sudo dnf install -y dnf-plugins-core
  2. 添加 Docker 的官方存储库:

    sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. 安装 Docker:

    sudo dnf install docker-ce
  4. 启动 Docker 服务并设置开机启动:

    sudo systemctl start docker
    sudo systemctl enable docker
  5. 验证 Docker 是否安装成功:

    sudo docker --version

以上步骤将安装 Docker 社区版(Docker CE)。安装完成后,你可以使用 Docker 命令来管理容器。请注意,安装 Docker 通常需要超级用户权限,所以确保你以管理员身份运行这些命令。

配置国内镜像加速

配置流程

编辑/etc/docker/daemon.json

vim /etc/docker/daemon.json

添加镜像代码(Docker中国官方镜像加速)

{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

其他更多镜像地址

{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://registry.docker-cn.com",
"https://reg-mirror.qiniu.com",
"https://dockerhub.azk8s.cn",
"https://docker.mirrors.ustc.edu.cn"
]
}

重新加载daemon.json

sudo systemctl daemon-reload

重启Docker

sudo systemctl restart docker

使用docker安装部署应用

  1. 安装部署mysql

    1. 下载MySQL镜像

      docker search mysql:8.0
      NAME DESCRIPTION STARS OFFICIAL AUTOMATED
      lkhoho/mysql Thin wrapper of official mysql:8.0 image. 0
      benoit93260/mysql-server8.0.19 server mysql:8.0.19 CentOs7 mysql-shell:8.0.… 0
      bolinz/mysql mysql:8.0.26 0
      k2jeans/mysql mysql:8.0.32 VOLUME ~/data/mysql:/var/lib/my… 0
      phunkytube/mysql Like mysql:8.0.19 but turns OFF skip-name-re… 0
      kamatimaru/mysql80-ja Added Japanese support settings to mysql:8.0… 0
      c3p16l12/mysql Built with mysql:8.0.13. 0
      lahouely/mysql8_utf8_native_password A custom mysql image based on mysql:8.0 with… 0
      bogdan1980b/mysql mysql:8.0.19 with a default DB named database 0
      strongxyz/mysql gcr.io/ml-pipeline/mysql:8.0.26 0
      jaykangta/maze-mysql based on mysql:8.0 0
      horiasuciu/mysql mysql:8.0 - Version used by WorldPress Appli… 0
      candresortizm1/mysql-getting-started Image based on mysql:8.0 official image 0
      flandycheng/gaoqi_mysql8 docker run --name gaoqi-mysql -e MYSQL_ROOT… 0
      jagenwen/mysql docker run -d -it -p 3306:3306 --name mysql … 0
      vkvich/zabbix-mysql mysql:8.0 0
      dockerbsm/phpmyadmin-mysql phpmyadmin/phpmyadmin:5.1.1 & mysql:8.0.27 0
      docker pull bolinz/mysql
      8.0.26: Pulling from bolinz/mysql
      b380bbd43752: Pull complete
      f23cbf2ecc5d: Pull complete
      30cfc6c29c0a: Pull complete
      b38609286cbe: Pull complete
      8211d9e66cd6: Pull complete
      2313f9eeca4a: Pull complete
      7eb487d00da0: Pull complete
      a5d2b117a938: Pull complete
      1f6cb474cd1c: Pull complete
      896b3fd2ab07: Pull complete
      532e67ebb376: Pull complete
      233c7958b33f: Pull complete
      Digest: sha256:882e55f40d61034a2bb8a1abab1353571ad2a33866f382350788eb34740528b5
      Status: Downloaded newer image for bolinz/mysql:8.0.26
      docker.io/bolinz/mysql:8.0.26
      docker images
      REPOSITORY TAG IMAGE ID CREATED SIZE
      bolinz/mysql 8.0.26 9da615fced53 2 years ago 514MB
    2. 启动MySQL容器

      docker run -d --name mysql8 -p 3308:3306 --restart=always --privileged=true -e MYSQL_ROOT_PASSWORD='123456' bolinz/mysql:8.0.26
      -d 后台启动,-it:前端启动,送一个命令行界面
      --name:容器名,自定义
      -p :宿主端口:容器端口->映射端口,因为原端口容易被容器外的程序占用
      --restart=always : 伴随docker一起启动
      --privileged=true : 进入容器使用root权限
      -e 设置项:设置环境变量
      bolinz/mysql :镜像文件名,一般放到命令的最后,要和本地镜像仓库的名字一样,可以使用image id
      输出如下:
      5d2c5acbb658fec2df418d9b917846ec2e880684fb94b5ae85163ace65544766
    3. 检查容器运行状态

      docker ps -a
      #-a 显示所有状态的容器,缺省的话只显示运行中的容器
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      5d2c5acbb658 bolinz/mysql:8.0.26 "docker-entrypoint.s…" 8 seconds ago Up 7 seconds 33060/tcp, 0.0.0.0:3308->3306/tcp, :::3308->3306/tcp mysql8
      netstat -nptl|grep3308 # 检查端口运行状态
      tcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 15585/docker-proxy
      tcp6 0 0 :::3308 :::* LISTEN 15592/docker-proxy
  2. 部署tomcat

    1. 拉取tomcat的镜像文件

      docker search tomcat8.5
      docker pull 镜像名
    2. 运行tomcat容器

      docker run -d --name tomcat8 -p 8090:8080 -v 宿主目录:容器目录 镜像名
      -v 宿主目录:挂载目录:挂载目录,这里的作用就是把tomca的webapps挂载到宿主目录,方便我们在宿主目录操作它。
    3. 查看容器运行日志

      docker logs 容器名
    4. 删除容器

      docker rm [-f] 容器名
    5. 删除镜像文件

      docker rmi 镜像名

基础

Docker 是一个开源的容器化平台,它可以用于构建、部署和运行应用程序和服务。容器化是一种轻量级的虚拟化技术,它允许你在容器中封装应用程序和其依赖项,然后在不同的环境中运行这些容器,而无需担心环境差异。以下是使用 Docker 的基本步骤:

  1. 安装 Docker

    首先,你需要安装 Docker。根据你的操作系统,可以从 Docker 官方网站下载并安装 Docker。Docker 提供了适用于 Windows、macOS 和各种 Linux 发行版的版本。

  2. 运行容器

    一旦安装了 Docker,你可以使用命令行或图形用户界面工具来创建和运行容器。以下是一些常见的 Docker 命令:

    • 创建并运行一个容器:

      docker run -it --name mycontainer ubuntu:latest

      这将在一个名为 mycontainer 的容器中运行最新版本的 Ubuntu 镜像。

    • 列出正在运行的容器:

      docker ps
    • 停止容器:

      docker stop mycontainer
    • 删除容器:

      docker rm mycontainer
  3. 构建自定义镜像

    除了使用现有的容器镜像,你还可以创建自定义镜像。你可以编写一个 Dockerfile 来定义如何构建你的镜像,然后使用 docker build 命令构建它。例如:

    docker build -t my-custom-image .
  4. 使用 Docker Compose

    Docker Compose 是一个工具,用于定义和运行多个 Docker 容器的应用程序。你可以使用一个 YAML 文件来定义应用程序的服务,包括容器镜像、网络设置、环境变量等。然后,使用 docker-compose 命令启动整个应用程序。

  5. 共享和发布镜像

    你可以通过 Docker Hub 或其他容器仓库来共享和发布你的 Docker 镜像。这使得其他人可以轻松地获取你的镜像并在其环境中运行它。

  6. 提交镜像文件:docker commit

  7. 导出本地镜像文件:docker save -o 路径/xxx.tar

  8. 导入tar文件到本地镜像库:docker load --input xxx.tar

这只是 Docker 的基本用法。Docker 还提供了许多功能,如容器网络、存储卷、服务编排等,可以帮助你更好地管理和扩展容器化应用程序。你可以深入学习 Docker 的各个方面,以充分发挥其潜力,适应你的特定需求。还可以探索容器编排工具,如 Docker Swarm 和 Kubernetes,用于管理多个容器的复杂应用程序。

进阶

Docker 提供了许多进阶命令,可以用于更复杂的容器管理任务。以下是一些常见的 Docker 进阶命令:

  1. 查看容器日志:使用 docker logs 命令可以查看容器的标准输出日志。

    docker logs container_name
  2. 进入正在运行的容器:使用 docker exec 命令可以进入正在运行的容器,以便在容器内执行命令。

    docker exec -it container_name /bin/bash
  3. 导出和导入容器:使用 docker export 命令可以将容器导出为一个文件,然后使用 docker import 命令将其导入为一个新的镜像。

    docker export container_name > container.tar
    docker import container.tar new_image_name
  4. 暂停和恢复容器:使用 docker pausedocker unpause 命令可以暂停和恢复容器的执行。

    docker pause container_name
    docker unpause container_name
  5. 查看容器内的进程:使用 docker top 命令可以查看容器内运行的进程。

    docker top container_name
  6. 重命名容器:使用 docker rename 命令可以为容器重命名。

    docker rename old_container_name new_container_name
  7. 查看容器的详细信息:使用 docker inspect 命令可以查看容器的详细配置信息。

    docker inspect container_name
  8. 查找容器:使用 docker ps 命令可以查找容器,可以使用各种选项来筛选和排序结果。

    docker ps -a (显示所有容器)
    docker ps -q (仅显示容器ID)
    docker ps --filter "status=running" (仅显示正在运行的容器)
  9. 移除所有已停止的容器:使用以下命令可以删除所有已停止的容器。

    docker container prune
  10. 容器之间的连接和通信:Docker 提供了一些命令,如 docker network createdocker network connect,用于创建和管理容器之间的网络连接,以便它们可以相互通信。

  11. 宿主和容器之间拷贝文件:

    docker cp 宿主目录 容器id|容器名:容器目录

这些是一些 Docker 的进阶命令,它们可以帮助你更灵活地管理和操作容器。要详细了解这些命令的用法和选项,请查阅 Docker 的官方文档或运行 docker --help 来查看命令的帮助信息。

本文作者:mio

本文链接:https://www.cnblogs.com/Miomizu/p/17831663.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Miomizu  阅读(10)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起