美文网首页
Docker 急速入门

Docker 急速入门

作者: 追风人聊Java | 来源:发表于2022-01-17 18:21 被阅读0次

    1. 概述

    之前聊了很多 SpringCloud 相关的话题,今天我们来聊聊服务容器 Docker。

    2. 在 CentOS7 安装 Docker

    2.1 卸载旧版本的Docker

    # yum remove docker
    docker-client
    docker-client-latest
    docker-common
    docker-latest
    docker-latest-logrotate
    docker-logrotate
    docker-engine

    2.2 安装仓库

    # yum install -y yum-utils

    # yum-config-manager
    --add-repo
    https://download.docker.com/linux/centos/docker-ce.repo

    2.3 安装 Docker

    yum install docker-ce docker-ce-cli containerd.io

    2.4 修改 Docker 配置

    # cat > /etc/docker/daemon.json <<EOF
    {
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "log-opts": {
    "max-size": "100m"
    },
    "storage-driver": "overlay2",
    "storage-opts": [
    "overlay2.override_kernel_check=true"
    ],
    "data-root": "/data/docker"
    }
    EOF

    2.5 启动 Docker

    # systemctl start docker

    2.6 验证 Docker

    # docker run hello-world

    2.7 docker setup user: permission denied: unknown 错误解决

    如果在执行 docker run hello-world 时,报如下错误:

    docker setup user: permission denied: unknown

    关闭 Selinux 即可解决。

    # vim /etc/sysconfig/selinux

    SELINUX=enforcing 改为 SELINUX=disabled

    重启服务器

    3. Docker 的常用命令

    3.1 查看容器

    # 查看正在运行的容器

    docker ps

    # 查看所有容器

    docker ps -a

    3.2 查看所有镜像

    docker images

    3.3 运行容器

    docker run -d --name 容器名 -p 宿主机端口:容器端口 -e 附加参数 容器tag名称:版本号

    -d 代表后台运行

    --name 是给容器起的名称

    -p 是端口映射,可写多个,冒号前面的是宿主机的端口,冒号后面的是容器内服务的端口

    -e 后面是一些容器自定义的附加参数

    具体容器的运行方法可参考 Docker Hub 官网:https://hub.docker.com/

    例如:

    运行 RabbitMQ 例子

    docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management

    运行 Redis 例子

    docker run -d -p 6379:6379 --name myredis redis:3.2 redis-server

    运行 mysql 例子

    docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=123456 mysql

    3.4 运行容器并对容器资源进行限制

    docker run -d -c 4000 -m 200M --bikio-weight 300 nginx

    -c 代表分配的 CPU 份额

    -m 代表限制的最大内存

    --bikio-weight 代表分配的 io 份额

    3.5 目录映射

    docker run --name myfront -p 8080:80 -v /root/foodie-cloud/foodie-shop:/usr/share/nginx/html -d nginx

    -v 代表将容器的目录映射到宿主机,冒号前面是宿主机的路径,冒号后面是容器的路径

    3.6 查看容器日志

    docker logs -f 容器名/容器ID

    -f 代表实时刷新日志

    3.7 进入容器操作

    docker exec -it 容器名/容器ID /bin/bash

    -it 是交互的意思

    3.8 拷贝文件/文件夹到容器

    docker cp 宿主机文件/文件夹 容器名:容器目录

    3.9 删除容器

    docker rm 容器ID

    3.10 删除镜像

    docker rmi 镜像ID

    3.11 启动、停止、重启容器

    docker start 容器名

    docker stop 容器名

    docker restart 容器名

    3.12 启动、停止 Docker

    systemctl start docker

    systemctl stop docker

    systemctl restart docker

    3.13 Docker开机启动

    chkconfig docker on

    4. 综述

    今天聊了一下 Docker 相关的知识 ,希望可以对大家的工作有所帮助。

    欢迎帮忙点赞、评论、转发、加关注 :)

    关注追风人聊Java,每天更新Java干货。

    相关文章

      网友评论

          本文标题:Docker 急速入门

          本文链接:https://www.haomeiwen.com/subject/pxachrtx.html