Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
写在开始前
一直觉得用docker命令每次去部署程序是很麻烦的事,一大堆参数得打在命令行上,万一打错了,还要重新输入很长的命令,所以我还是更喜欢docker-compose能把相应的参数都写在.yaml文件中,这样只需简单的命令即可部署,非常简单。
1. docker
在centos安装docker有两种方式,一种是使用yum安装,还有一种是脚本安装,如果你安装的是最新稳定版,其实两种方式没什么区别,脚本只是帮你做了配置yum的事。这里你也可以直接参考docker官方文档 进行安装。
如果之前装过docker,先将之前的docker卸载掉,当然如果没有装过不需要执行当前命令。
1 2 3 4 5 6 7 8
| 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源。
1
| yum install -y yum-utils
|
1 2 3
| yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
|
- 安装
docker-ce,docker-ce-cli,containerd.io和docker-compose-plugin。
1
| yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
如果你对版本有要求,也可以用yum来筛选docker的版本,选择合适的进行安装。
1 2 3 4 5
| #列出所有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版本。
1 2
| curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh
|
1 2
| curl -fsSL https://test.docker.com -o test-docker.sh sh test-docker.sh
|
1.3 启动docker
通过上面的方式,我们已经将docker安装完成了,根据下面的命令,我们把docker启动起来,并且设置自启,这样重启了服务器,也无需再手动启动了。
1 2 3 4 5 6 7 8 9 10 11
| #启动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官方文档进行安装。
1 2
| #安装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
|
1 2 3 4
| #查看docker-compose安装在哪儿了 whereis docker-compose #赋予docker-compose文件 执行(x)的权限 chmod +x /usr/local/bin/docker-compose
|
1 2
| #检查版本号 也可以当作查看是否安装成功 docker-compose -v
|