我是靠谱客的博主 大方小伙,最近开发中收集的这篇文章主要介绍Docker系列二——docker手动安装教程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 1.卸载旧版本
    • 2.设置仓库和安装
    • 3.镜像加速
    • 4.常用命令
    • 5.镜像迁移
    • 6.镜像存储位置
    • 7.二进制安装

CentOS Docker 安装
Docker 支持以下的 64 位 CentOS 版本:
推荐CentOS 7

1.卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

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

2.设置仓库和安装

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

 sudo yum install -y yum-utils 
  device-mapper-persistent-data 
  lvm2

使用以下命令来设置稳定的仓库。

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community

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

在这里插入图片描述
这里选y会默认安装最新版 Docker Engine-Community,建议选择d,稍后安装
在这里插入图片描述
提示是否接受 GPG 密钥,请选是。以下命令列出可用版本,然后选择并安装

 yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable

$ sudo yum install docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.io

$ docker version
$ sudo systemctl start docker
通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

$ sudo docker run hello-world

3.镜像加速

CentOS7
对于使用 systemd 的系统,请在vi /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

{
  "registry-mirrors": ["https://reg-mirror.qiniu.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
}

之后重新启动服务:

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
docker info
未设置镜像前
在这里插入图片描述
设置镜像后
在这里插入图片描述

4.常用命令

docker images

docker search xx
docker pull xx:xx.xx

docker start xx
docker stop xx
docker rm xx

docker ps
docker ps -a
docker logs -f --tail 10 xx

docker run -it xx /bin/bash

docker cp /usr/local/web/test.war xx:/usr/local/tomcat/webapps

5.镜像迁移

导出镜像:docker save ID > xxx.tar
加载镜像:docker load < xxx.tar

6.镜像存储位置

参考来源

方法一、软链接
默认情况下Docker的存放位置为:/var/lib/docker
可以通过下面命令查看具体位置:

sudo docker info | grep "Docker Root Dir"

解决这个问题,最直接的方法当然是挂载分区到这个目录,但是我的数据盘还有其他东西,这肯定不好管理,所以采用修改镜像和容器的存放路径的方式达到目的。

这个方法里将通过软连接来实现。

首先停掉Docker服务:

systemctl stop docker 或者 service docker stop

然后移动整个/var/lib/docker目录到目的路径:

mv /var/lib/docker /root/data/docker
ln -s /root/data/docker /var/lib/docker

这时候启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的,你可以在数据盘上看到容量变化。

方法二、修改镜像和容器的存放路径
指定镜像和容器存放路径的参数是--graph=/var/lib/docker,我们只需要修改配置文件指定启动参数即可。

Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致。

  • Ubuntu中的位置是:/etc/default/docker
  • CentOS中的位置是:/etc/sysconfig/docker

如果是 CentOS 则添加下面这行:

OPTIONS=--graph="/root/data/docker" --selinux-enabled -H fd://

如果是 Ubuntu 则添加下面这行(因为 Ubuntu 默认没开启 selinux):

OPTIONS=--graph="/root/data/docker" -H fd:// 或者 DOCKER_OPTS="-g /root/data/docker"

最后重新启动,Docker 的路径就改成 /root/data/docker 了。

7.二进制安装

#下载二进制安装包(因为我可以连接互联网,不能连接互联网的可以在自己电脑下载好在上传)
[root@localhost ~]# wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz
#解压压缩包
[root@localhost ~]# tar -zxvf docker-20.10.9.tgz
[root@localhost ~]# ls
anaconda-ks.cfg  docker  docker-20.10.9.tgz
#将解压docker目录下的所有文件移动到/usr/bin下
[root@localhost ~]# mv docker/* /usr/bin
#以systemd的方式管理docker
cat > /lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
 
[Install]
WantedBy=multi-user.target
EOF
 
#配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://x31x8hjg.mirror.aliyuncs.com"]
}
EOF
#启动docker并设置开机自启
systemctl daemon-reload
systemctl start docker
systemctl enable docker
#检查docker是否安装成功
[root@localhost ~]# docker run hello-world
 
Hello from Docker!
This message shows that your installation appears to be working correctly.
 
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
 
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
 
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
 
For more examples and ideas, visit:
 https://docs.docker.com/get-started/
#直到出现以上才证明安装成功!!

最后

以上就是大方小伙为你收集整理的Docker系列二——docker手动安装教程的全部内容,希望文章能够帮你解决Docker系列二——docker手动安装教程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部