部署docker及docker-compose
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
写在开始前
一直觉得用docker
命令每次去部署程序是很麻烦的事,一大堆参数得打在命令行上,万一打错了,还要重新输入很长的命令,所以我还是更喜欢docker-compose
能把相应的参数都写在.yaml
文件中,这样只需简单的命令即可部署,非常简单。
1. docker
在centos
安装docker
有两种方式,一种是使用yum安装,还有一种是脚本安装,如果你安装的是最新稳定版,其实两种方式没什么区别,脚本只是帮你做了配置yum的事。这里你也可以直接参考docker官方文档 进行安装。
如果之前装过docker
,先将之前的docker
卸载掉,当然如果没有装过不需要执行当前命令。
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
1.1 yum安装docker
- 安装
yum-utils
,这是yum
的工具类,可以管理yum
的repo源
。
yum install -y yum-utils
- 添加
docker
的yum源
。
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- 安装
docker-ce
,docker-ce-cli
,containerd.io
和docker-compose-plugin
。
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
如果你对版本有要求,也可以用yum
来筛选docker
的版本,选择合适的进行安装。
#列出所有docker-ce的版本 其他软件包也是同理
yum list docker-ce --showduplicates | sort -r
#安装指定版本
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
1.2 脚本安装docker
通过脚本安装,你可以选择stable
版本,或者是pre-release
版本。
- 安装
stable
版本
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
- 安装
pre-relase
版本
curl -fsSL https://test.docker.com -o test-docker.sh
sh test-docker.sh
1.3 启动docker
通过上面的方式,我们已经将docker
安装完成了,根据下面的命令,我们把docker
启动起来,并且设置自启,这样重启了服务器,也无需再手动启动了。
#启动docker
systemctl start docker
#停止docker
systemctl stop docker
#将docker设为自启动
systemctl enable docker
#测试docker
docker run hello-world
2. docker-compose
其实我们在安装docker
时,发现已经有docker-compose-plugin
了,其实是可以不用安装的。但因为现在docker-compose-plugin
是v2
版本,有很多之前版本的语法和命令和之前的版本不兼容了,所以我没有使用docker-compose-plugin
,而是使用v1
的版本。你可以根据自己来选择使用哪一个版本。你可以去github
查看docker-compose版本,也可以参考docker官方文档进行安装。
- 安装
docker-compose
#安装docker-compose,【1.29.2】为v1版本最后一个版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compos
- 赋予权限
#查看docker-compose安装在哪儿了
whereis docker-compose
#赋予docker-compose文件 执行(x)的权限
chmod +x /usr/local/bin/docker-compose
- 检查是否安装成功
#检查版本号 也可以当作查看是否安装成功
docker-compose -v