CentOS7 安装docker-ce
Table of Contents
安装Docker-ce
为什么叫docker-ce呢?因为ce是community edition的缩写,意为“社区版本”,一般这种软件都有社区版和商业版的(商业版叫ee:enterprise edition),比如我们最常用的centos,os是“操作系统”的意思,cent是什么?其实就是community enterprise,中文翻译成“社区企业操作系统”,这里的企业就不是指企业版,而是指适合企业生产环境提供服务用的。
Docker CE官方文档:Get Docker CE for CentOS
如果你以前安装过,先删除旧的:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装一些要用到的工具:
sudo yum install -y epel-release yum-utils device-mapper-persistent-data lvm2
epel-release:扩展软件源,有很多软件yum安装说找不到包,但是装了这个就可以找到。
yum-utils:yum实用工具,一般情况下应该都安装过了
device-mapper-persistent-data:设备映射
lvm2:(logical volume manager)逻辑卷管理2代
使用yum实用工具yum-config-manager
添加一个docker-ce下载源(stable):
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
其实它就是在yum的/etc/yum.repos.d
里添加一个docker-ce.repo
文件。
除了上面默认的stable版,你可以也可以允许test版和nightly版,它们的区别如下About Docker CE里有说到:
– Stable gives you latest releases for general availability.
– Test gives pre-releases that are ready for testing before general availability.
– Nightly gives you latest builds of work in progress for the next major release.
允许安装nightly版(非必需)
sudo yum-config-manager --enable docker-ce-nightly
允许安装test版(非必需)
sudo yum-config-manager --enable docker-ce-test
允许了之后就可以用yum install docker-ce-nightly
、yum install docker-ce-test
这样去安装了,当然我们一般不要安装这种版本,因为它是比较新的非稳定的。
安装docker-ce(docker服务器)、docker-ce-cli(docer客户端)和containerd.io(用于管理主机系统的完整容器生命周期,从映像传输和存储到容器执行和监视,再到底层存储、网络附件等等):
sudo yum -y install docker-ce docker-ce-cli containerd.io
看,其实docker非常小,server+client+containerd.io才57M:
虽然三个加起来才57M,但安装后占用了300M左右
#安装前
Filesystem Size Used Avail Use% Mounted on
devtmpfs 980M 0 980M 0% /dev
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 997M 101M 897M 11% /run
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/vda1 28G 2.9G 24G 11% /
tmpfs 200M 0 200M 0% /run/user/1000
#安装后
Filesystem Size Used Avail Use% Mounted on
devtmpfs 980M 0 980M 0% /dev
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 997M 96M 901M 10% /run
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/vda1 28G 3.2G 24G 12% /
tmpfs 200M 0 200M 0% /run/user/1000
如果你要安装指定版本的docker,需要先列出有哪些版本可以安装:
yum list docker-ce --showduplicates | sort -r
比如我这列出这么多:
docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.3-3.el7 @docker-ce-stable
docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
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.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-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
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
安装的时候也跟前面类似,只不过要指定版本(这个18.09.3
、17.03.2
,反正三个数字xx.xx.xx格式的就是版本了):
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
安装好之后,启动docker:
sudo systemctl start docker
启动后查看一下进程:
ps aux | grep docker
或者用systemctl
查看一下服务状态也行:
systemctl status docker
如果无法启动,有可能内核不够新,需要安装内核,以下是安装bbr加速,会自动安装最新内核,如果你不需要安装bbr加速,或者不需要最新内核,请自行查找更新内核的方法:
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
运行个hello-world试试是否正常:
sudo docker run hello-world
输出结果如下,第一句“Unable to find image ‘hello-world:latest’ locally”表示本地不存在这个hello-world:latest
镜像,所以它会自动去dockerhub下载然后再运行:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest
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/
到这里就完成了linux版docker-ce的安装了,Enjoy!
安装docker-compose
什么是docker-compose
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration
docker-compose是一个用于定义及运行多个docker程序的工具。使用docker-compose,你可以使用一个
YAML
文件来配置应用程序的服务,然后,使用一句命令就能从你的配置中创建及启动所有服务。
安装docker-compose
Windows和macOS安装客户端后就自带docker-compose了。
Linux安装docker-compose(其实就是下载可执行文件)
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
其中1.25.5
是版本,你可以查看这里的最新版本。
给它添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
最后试试是否能正常使用:
docker-compose -v
正常的话应该输出类似这样的:
docker-compose version 1.25.5, build 8a1c60f6
更多请查看:docker-compose文档。