小白如何安装 Docker&Compose

小白如何安装 Docker&Compose

安装 Docker

Debian为例

1.更新软件包、安装 wget 和 vim 工具
1
2
3

apt-get update && apt-get install -y wget vim

2.下载并安装 Docker
1
2
3

wget -qO- get.docker.com | bash

3.查看 Docker 版本
1
2
3

docker -v

4.设置开机启动
1
2
3

systemctl enable docker

安装 Docker-Compose

1.更新包列表
1
2
3

sudo apt update

2.安装 Docker Compose 依赖
1
2
3

sudo apt install curl

3.下载 Docker Compose
1
2
3

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

4.添加执行权限
1
2
3

sudo chmod +x /usr/local/bin/docker-compose

5.验证安装
1
2
3

docker-compose --version

如果成功安装,将显示 Docker Compose 的版本信息。


卸载 Docker

1
2
3
4
5
6

sudo apt-get purge docker-ce docker-ce-cli containerd. Io

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Docker 常用命令

命令 描述
docker run 运行一个容器
docker build 构建一个镜像
docker pull 拉取一个镜像
docker push 推送一个镜像到仓库
docker images 列出本地所有的镜像
docker ps 列出正在运行的容器
docker stop 停止一个或多个容器
docker rm 删除一个或多个容器
docker rmi 删除一个或多个镜像
docker exec 在容器中执行命令
docker stop $(docker ps -a -q) 停止所有容器
docker rm $(docker ps -a -q) 删除所有容器
docker image prune -a 删除未使用的镜像
docker volume prune 删除未使用的卷
docker network prune 删除未使用的网络
docker system prune 删除停止的容器、未使用的镜像、卷和网络
docker rmi $(docker images -f "dangling=true" -q) 清理无标签的镜像
docker container prune 清理停止的容器
docker system prune -a --volumes 清理不再使用的数据
docker image prune -a -f 强制清理

Docker&Compose离线安装和一键脚本

  1. 下载所需安装文件

需要下载docker的安装文件。
地址:https://download.docker.com/linux/static/stable/x86_64/
需要下载docker-Compose的安装文件。
地址:https://github.com/docker/compose/releases

  1. 创建docker服务脚本docker.service

创建服务文件 docker.service

docker服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

[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 -H unix:///var/run/docker.sock --selinux-enabled=false
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


  1. Docker&Compose一键安装脚本

创建脚本文件 install.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

#!/bin/sh
echo '关闭selinux...'
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
echo '解压tar包...'
tar -xzvf $1
echo '将docker目录移到/usr/bin目录下...'
cp docker/* /usr/bin/
echo '将docker.service 移到/usr/lib/systemd/system/ 目录...'
cp docker.service /usr/lib/systemd/system/
echo '添加文件权限...'
chmod +x /usr/lib/systemd/system/docker.service
echo '重新加载配置文件...'
systemctl daemon-reload
echo '启动docker...'
systemctl start docker
echo '设置开机自启...'
systemctl enable docker.service
echo 'docker安装成功...'
docker -v
echo '安装docker-compose'
cp docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
echo 'docker-compose安装成功...'
docker-compose --version


  1. 将下载文件和脚本文件上传到同一文件夹
脚本文件授权并执行
1
2
3
4
5

sudo chmod 755 install.sh
sudo ./install.sh