Docker-compose安装、常用命令、镜像加速

1.官方安装

官网选择版本 https://github.com/docker/compose/releases 以下命令手动修改版本号,例如1.24.1

1
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

添加执行权限

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

检查docker compose版本

1
docker-compose version

2.手动安装

官网选择版本 https://github.com/docker/compose/releases 选择相应版本,下载docker-compose-Linux-x86_64到本地或者服务器中 更名为docker-compose,并移动到 /usr/local/bin 目录下 添加执行权限

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

检查docker compose版本

1
docker-compose version

3.PIP在线安装

安装依赖

1
yum -y install epel-release

安装PIP

1
yum -y install python-pip

升级PIP

1
pip install --upgrade pip

检查PIP版本

1
2
pip --version
pip 19.3.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)

安装docker compose,自行更改版本号.

1
pip install -U docker-compose==1.24.1

检查docker compose版本

1
docker-compose version

常用命令

①:-d 在后台运行服务容器。

②:--no-color 不使用颜色来区分不同的服务的控制台输出。

③:--no-deps 不启动服务所链接的容器。

④:--force-recreate 强制重新创建容器,不能与 –no-recreate 同时使用。

⑤:--no-recreate 如果容器已经存在了,则不重新创建,不能与 –force-recreate 同时使用。

⑥:--no-build 不自动构建缺失的服务镜像。

⑦:-t, --timeout TIMEOUT 停止容器时候的超时(默认为 10 秒)。

  • down 此命令停止用 up命令所启动的容器并移除网络。 如 docker-compose -f skywalking.yml down
  • stop 格式为 docker-compose stop [options] [SERVICE...]停止已经处于运行状态的容器,但不删除它。通过 docker-compose start 可以再次启动这些容器,如果不指定service则默认停止所有的容器。如 docker-compose -f skywalking.yml stop elasticsearch 此命令有以下选项: -t, --timeout TIMEOUT 停止容器时候的超时(默认为 10 秒)。
  • start 启动已经存在的服务容器。用法跟上面的 stop刚好相反,如 docker-compose -f skywalking.yml start elasticsearch
  • restart 重启项目中的服务。用法跟上面的 stop,start一样
  • logs 格式为 docker-compose logs [options] [SERVICE...]查看服务容器的输出。 默认情况下,docker-compose 将对不同的服务输出使用不同的颜色来区分。可以通过 –no-color 来关闭颜色。 该命令在调试问题的时候十分有用。 如 docker-compose -f skywalking.yml logs 查看整体的日志,docker-compose -f skywalking.yml logs elasticsearch 查看单独容器的日志

配置docker加速镜像

  • 配置docker加速镜像,配置国内加速镜像 创建或修改/etc/docker/daemon.json
1
2
3
4
5
6
7
8
9
10
11
12
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com",
"https://reg-mirror.qiniu.co"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

======================================================================================================================================================================
安装docker和docker-compose
安装docker
非大陆服务器安装docker

1
2
3
4
5
wget -qO- get.docker.com | bash
docker -v # 查看docker版本
systemctl enable docker #设置开机自启动

注意:如果出现sudo:unable to resolve host [hostname],可以编辑nano/etc/hosts。然后在localhost后面空一格,打上[hostname]你对应的hostname内容。

国内服务器安装docker

1
2
3
curl -sSL https://get.daocloud.io/docker | sh
docker -v #查看docker版本
systemctl enable docker # 设置开机自动启动

卸载docker

1
2
3
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

安Dockercompose
非大陆服务器安装docker-compose

1
2
3
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version #查看docker-compose版本

国内服务器安装docker-compose

1
2
3
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version #查看docker-compose版本

docker项目的更新与卸载
docker命令安装

停止和卸载

docker ps # 确定哪些docker项目在运行
docker inspect 容器的名字 # 找出你容器的映射到本地的文件路径
docker stop memos
docker rm -f memos # 停止容器,此时不会删除映射到本地的数据
rm -rf /root/data/docker_data/memos # 完全删除映射到本地的数据

docker-compose安装

停止和卸载

cd /root/data/docker_data/lsky-pro # 进入docker-compose所在的文件夹
docker-compose down # 停止容器,此时不会删除映射到本地的数据
rm -rf /root/data/docker_data/lsky-pro # 完全删除映射到本地的数据

更新

cd /root/data/docker_data/lsky-pro # 进入docker-compose所在的文件夹
docker-compose pull # 拉取最新的镜像
docker-compose up -d # 重新更新当前镜像

其他
修改docker配置

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘。

1
2
3
4
5
6
7
8
9
10
11
12
13
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF

重启Docker服务

systemctl restart docker