docker及docker-compose安装

docker及docker-compose安装

一、联网安装

  • ubuntu 使用阿里云的源在线安装docker

  1. 安装
    # 安装GPG证书
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    # 写入软件源信息
    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    # 更新仓库
    sudo apt-get -y update
    # 安装最新版本
    sudo apt-get -y install docker-ce
    # 查找Docker-CE的版本
    apt-cache madison docker-ce
    # 安装指定版本
    sudo apt-get -y install docker-ce=5:18.09.9~3-0~ubuntu-bionic
    # 查看所安装的docker版本
    sudo docker version
    
  2. 配置镜像源
    cat > /etc/docker/daemon.json << EOF
    {
      "registry-mirrors": [
      	"https://docker.m.daocloud.io",
      	"https://dockerproxy.com",
      	"https://docker.mirrors.ustc.edu.cn",
      	"https://docker.nju.edu.cn",
      	"https://dockerhub.icu",
      	"https://docker.registry.cyou",
      	"https://docker-cf.registry.cyou",
      	"https://dockercf.jsdelivr.fyi",
      	"https://docker.jsdelivr.fyi",
      	"https://dockertest.jsdelivr.fyi",
      	"https://mirror.aliyuncs.com",
      	"https://dockerproxy.com",
      	"https://mirror.baidubce.com",
      	"https://docker.m.daocloud.io",
      	"https://docker.nju.edu.cn",
      	"https://docker.mirrors.sjtug.sjtu.edu.cn",
      	"https://docker.mirrors.ustc.edu.cn",
      	"https://mirror.iscas.ac.cn",
      	"https://docker.rainbond.cc"
      ]
    }
    EOF
    
  3. 验证docker安装是否成功

    # 查看Docker版本
    sudo docker -v
    # 查看Docker详细信息
    sudo docker info
    
  • ubuntu 安装docker-compose
    查看版本:git仓库

    # 下载docker-compose至/usr/local/bin/(v2.33.1为版本号)
    sudo curl -L https://github.com/docker/compose/releases/download/v2.33.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
    # 或者直接下载文件后移动到/usr/local/bin/并重命名为docker-compose
    sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
    # 授权
    sudo chmod +x /usr/local/bin/docker-compose
    # 查看版本
    docker-compose --version
    
  • Anolis OS 8 在线安装docker

  1. 安装
    # 更新系统
    sudo dnf update -y
    # 装依赖工具
    sudo dnf install -y dnf-plugins-core
    # 添加 Docker 官方仓库
    sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    # 更换国内镜像源
    sudo sed -i 's@https://download.docker.com@https://mirrors.aliyun.com/docker-ce@' /etc/yum.repos.d/docker-ce.repo
    # 安装 Docker 引擎:在安装命令中添加 --allowerasing 参数,允许卸载冲突的 podman 和旧版 runc
    sudo dnf install -y docker-ce docker-ce-cli containerd.io --allowerasing
    # 启动 Docker 并设置开机自启
    sudo systemctl enable --now docker
    # 查看所安装的docker版本
    sudo docker version
    

    下面步骤一致…

二、离线安装

  • ubuntu 离线安装docker

  1. 下载deb包

    https://download.docker.com/linux/ubuntu/dists/

    根据系统版本选择:例如ubuntu20.04,则逐级选择focal/pool/stable/amd64/

    将下列文件全下载下来:

    containerd.io_<version>_<arch>.deb
    docker-ce_<version>_<arch>.deb
    docker-ce-cli_<version>_<arch>.deb
    
  2. 安装deb包
    sudo dpkg -i  containerd.io_1.2.6-3_amd64.deb
    sudo dpkg -i  docker-ce-cli_19.03.6_3-0_ubuntu-disco_amd64.deb
    sudo dpkg -i  docker-ce_19.03.6_3-0_ubuntu-disco_amd64.deb
    
  3. 配置镜像源
    cat > /etc/docker/daemon.json << EOF
    {
      "registry-mirrors": [
      	"https://docker.m.daocloud.io",
      	"https://dockerproxy.com",
      	"https://docker.mirrors.ustc.edu.cn",
      	"https://docker.nju.edu.cn",
      	"https://dockerhub.icu",
      	"https://docker.registry.cyou",
      	"https://docker-cf.registry.cyou",
      	"https://dockercf.jsdelivr.fyi",
      	"https://docker.jsdelivr.fyi",
      	"https://dockertest.jsdelivr.fyi",
      	"https://mirror.aliyuncs.com",
      	"https://dockerproxy.com",
      	"https://mirror.baidubce.com",
      	"https://docker.m.daocloud.io",
      	"https://docker.nju.edu.cn",
      	"https://docker.mirrors.sjtug.sjtu.edu.cn",
      	"https://docker.mirrors.ustc.edu.cn",
      	"https://mirror.iscas.ac.cn",
      	"https://docker.rainbond.cc"
      ]
    }
    EOF
    
  4. 验证docker安装是否成功
    # 查看Docker版本
    sudo docker -v
    # 查看Docker详细信息
    sudo docker info
    
  5. 启动并设置开机启动

    # 启动Docker
    sudo systemctl start docker
    # 查看Docker状态
    sudo systemctl status docker
    # 设置开机自启
    sudo systemctl enable docker
    
  • centOS 离线安装docker

  1. 下载docker的安装文件

    https://download.docker.com/linux/static/stable/x86_64/

    选择合适的版本,例如docker-19.03.6.tgz

    wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.6.tgz
    
  2. 将解压出来的docker文件复制到 /usr/bin/ 目录下
    tar -zxvf ./docker-20.10.9.tgz
    cp docker/* /usr/bin/
    
  3. 创建docker.service文件
    cd /etc/systemd/system/
    sudo touch docker.service
    
  4. 打开docker.service文件,复制以下内容

    注意: --insecure-registry=192.168.79.142 此处改为自己服务器ip

    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network-online.target firewalld.service
    Wants=network-online.target
    
    [Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=192.168.79.142
    ExecReload=/bin/kill -s HUP $MAINPID
    # Having non-zero Limit*s causes performance problems due to accounting overhead
    # in the kernel. We recommend using cgroups to do container-local accounting.
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    # Uncomment TasksMax if your systemd version supports it.
    # Only systemd 226 and above support this version.
    #TasksMax=infinity
    TimeoutStartSec=0
    # set delegate yes so that systemd does not reset the cgroups of docker containers
    Delegate=yes
    # kill only the docker process, not all processes in the cgroup
    KillMode=process
    # restart the docker process if it exits prematurely
    Restart=on-failure
    StartLimitBurst=3
    StartLimitInterval=60s
    
    [Install]
    WantedBy=multi-user.target
    
  5. 给docker.service文件添加执行权限并加载
    chmod 777 /etc/systemd/system/docker.service
    # 重新加载配置文件(每次有修改docker.service文件时都要重新加载下)
    sudo systemctl daemon-reload
    
  6. 配置阿里云镜像加速
    mkdir /etc/docker
    cat > /etc/docker/daemon.json << EOF
    {
      "registry-mirrors": ["https://9ynf7m5d.mirror.aliyuncs.com"]
    }
    EOF
    
  7. 升级libseccomp(解决创建容器时报错)

    下载libseccomp-2.3.1-4.el7.x86_64.rpm文件,然后运行

    wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libseccomp-2.3.1-4.el7.x86_64.rpm
    rpm -U libseccomp-2.3.1-4.el7.x86_64.rpm
    
  8. 验证docker安装是否成功
    # 查看Docker版本
    sudo docker -v
    # 查看Docker详细信息
    sudo docker info
    
  9. 启动并设置开机启动
    # 启动Docker
    sudo systemctl start docker
    # 查看Docker状态
    sudo systemctl status docker
    # 设置开机自启
    sudo systemctl enable docker
    
  • 离线安装docker-compose

  1. 下载docker-compose安装包

    https://github.com/docker/compose/releases/

    选择合适的版本,例如docker-compose-linux-x86_64

  2. 将文件转移至/usr/local/bin/
    sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
    
  3. 添加权限
    sudo chmod +x /usr/local/bin/docker-compose
    
  4. 验证docker-compose安装是否成功
    docker-compose -v
    
  • docker 镜像离线安装

  1. 保存镜像到本地文件
    sudo docker save -o mysql_image.docker mysql:5.7
    sudo docker save -o php_image.docker php:5.6
    sudo docker save -o nginx_image.docker nginx:1.14.0
    
  2. 把镜像拷贝到无网络的电脑,然后通过docker加载镜像即可
    sudo docker load -i mysql_image.docker
    sudo docker load -i php_image.docker
    sudo docker load -i nginx_image.docker
    

三、docker 常用命令

docker-compose up -d							#运行docker-compose.yml
sudo docker rmi -f $(docker images -qa)			#删除所有镜像
sudo docker rm -f $(sudo docker ps -qa)			#删除所有容器
sudo docker restart 22102d62c6c9				#重启容器
sudo docker exec -it 22102d62c6c9 /bin/sh		#进入容器
sudo docker cp ~/test.sql 22102d62c6c9:/		#复制文件到容器
sudo docker image prune -a					    #移除所有没有容器使用的镜像

四、docker 更换存储目录

# 停止 Docker 服务
sudo systemctl stop docker docker.socket
# 复制现有镜像到新位置:使用 rsync 保留文件权限和属性
sudo rsync -avx /var/lib/docker/ /新存储路径/
# 修改 Docker 配置文件
sudo vim /etc/docker/daemon.json
{
"data-root": "/新存储路径"
}
# 重启 Docker 服务
sudo systemctl start docker docker.socket
# 检查 Docker 存储路径
sudo docker info | grep "Docker Root Dir"
sudo docker images
sudo docker ps -a
# 清理旧数据
sudo rm -rf /var/lib/docker
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值