docker 基本使用和安装

  1. docker 安装

    1. centos系统

      1. 如果之前安装过,执行这段代码,没有安装过可不执行(想执行也没关系)
        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
        sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      3. 安装docker

        sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      4. 启动

        sudo systemctl start docker
        sudo systemctl enable docker # 可选
    2. ubuntu系统

      1. 解决冲突包
        for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
      2. 设置docker存储库
        # Add Docker's official GPG key:
        sudo apt-get update
        sudo apt-get install ca-certificates curl
        sudo install -m 0755 -d /etc/apt/keyrings
        sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
        sudo chmod a+r /etc/apt/keyrings/docker.asc
        
        # Add the repository to Apt sources:
        echo \
          "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
          $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
          sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
        sudo apt-get update
      3. 安装 Docker 包
        sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. 基本使用

    1. 由于某个智障在docekr hub 上传了一些东西,导致国内目前不能用,所以这里docker pull 应该不能运行
    2. 基本命令

      1. 拉取和查看镜像
        # 拉取
        docker pull image_name
        # 查看
        docker image ls
      2. 查看运行容器
        docker ps -a
        # 或者目前我喜欢使用的命令
        docker container ls
      3. 创建运行容器
        docker run -it -d --name 起个名字 -p 8080:8080 image_name
        
        # 基本参数
        # -d: 在后台运行容器。
        # --name <name>: 为容器指定一个名称。
        # -it: 以交互模式运行容器,-i保持标准输入打开,-t分配一个伪TTY。
        # --rm: 在容器退出后自动删除容器。
        # --restart <policy>: 指定容器的重启策略,例如 no、on-failure、always 或 unless-stopped。
        # -p <host_port>:<container_port>: 将容器的端口映射到宿主机的端口。
        # -P: 自动将容器的端口随机映射到宿主机的高端口。
        # --network <network>: 指定容器加入的网络。
        # -v <host_dir>:<container_dir>: 将宿主机目录挂载到容器内的指定路径上。
        # --mount type=bind,source=<host_dir>,target=<container_dir>: 更灵活的挂载方式,可以设置更多的参数(如只读挂载)。
        # --tmpfs <container_dir>: 在容器内创建一个 tmpfs 文件系统,所有数据都存储在内存中。
        # -m <memory>: 限制容器可用的最大内存量。
        # --cpus=<value>: 限制容器使用的CPU数量。
        # --memory-swap <value>: 设置内存和交换区的最大使用量。
        # --cpu-shares <value>: 设置CPU共享权重,值越高优先级越高。
        # -e <key>=<value>: 设置环境变量。
        # --env-file <file>: 从文件中加载环境变量。
        # --hostname <hostname>: 设置容器的主机名。
        # --privileged: 赋予容器更多的权限,使其能够执行一些特权操作。
        # --cap-add 和 --cap-drop: 添加或移除容器的Linux能力。
        # --link <container_name>:<alias>: 连接两个容器,允许它们之间直接通信。
      4. 进入容器
        docker exec -it 容器id /bin/bash
      5. 容器日志打印
        docker logs -f 容器id
      6. 镜像导入导出
        # 导出镜像
        docker save -o <output_file>.tar image_name
        # 导入镜像
        docker load -i <input_file>.tar
        
      7. 镜像打包

        docker buildx build --platform linux/amd64,linux/arm64 -t myusername/myimage:latest .
        
  3. docker镜像拉取问题

    1. 不知道能不能写,大概说一下,可以使用cloudfare搭建一个代理,需要一个自己的域名

    2. 最简单的方法:找一台非大陆外服务器,安装docker后,在服务器拉取导出然后传到需要的服务器上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值