离线安装
安装注册服务等步骤需切换至root用户或允许sudo的用户。
下载docker离线包:
https://download.docker.com/linux/static/stable/x86_64/docker-20.10.17.tgz
解压安装离线包
tar -zxvf docker-20.10.17.tgz
复制解压文件到/usr/bin/下
cp docker/* /usr/bin/
注册docker为service服务,在/etc/systemd/system/目录下新增docker.service文件
vi /etc/systemd/system/docker.service
输入以下内容
[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
# 如果有搭建私有镜像仓库,--insecure-registry设置为私有镜像仓库地址。
ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=127.0.0.1
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
赋予docker.service 执行权限
chmod +x /etc/systemd/system/docker.service
重载配置文件以生效
systemctl daemon-reload
基础操作
启停服务
启动
sudo systemctl start docker
停止
sudo systemctl stop docker
查看服务状态
systemctl status docker
设为开机自启
sudo systemctl enable docker
允许普通用户执行docker命令
例如执行:docker info
(1) 把用户添加到docker用户组
创建docker组
groupadd docker
把普通用户添加到docker组
gpasswd -a 用户名 docker
#如需从组中删除,把-a换成-d
(2) 修改/var/run/docker.sock 文件的读写权限
修改文件权限 sudo chmod 666 /var/run/docker.sock
设置国内镜像加速器
这里选择阿里云,需登录
https://cr.console.aliyun.com/cn-beijing/instances/mirrors
复制镜像地址
把地址配置到/etc/docker/daemon.json
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"],
"log-driver":"json-file",
"log-opts": {"max-size":"100m", "max-file":"10"}
}
"max-size":"100m", "max-file":"10":限制每个容器的日志大小为100M*10个文件。
重新加载配置、重启docker
systemctl daemon-reload
systemctl restart docker
执行docker info 查看地址
离线安装docker-compose
docker-compse官方下载地址:https://github.com/docker/compose/releases
#安装到指定位置
mv docker-compose-linux-x86_64 /usr/local/bin/
#修改文件名
mv docker-compose-linux-x86_64 docker-compose
#授权
sudo chmod +x /usr/local/bin/docker-compose
#查看版本
docker-compose -v
常用docker命令
Docker 命令大全 | 菜鸟教程 https://www.runoob.com/docker/docker-command-manual.html
查看镜像列表
docker images
下载镜像
pull 镜像名称:镜像TAG
删除镜像
docker rmi 镜像名称:镜像TAG
镜像打包
docker save 镜像名称:镜像TAG >打包文件名.tar
镜像加载
docker load -i 打包文件名.tar
docker load<打包文件名.tar
后台创建容器
docker run -d --name 容器名 镜像名称:镜像TAG
启、停、重启、删容器
docker start/stop/restart/rm 容器名
查看最近10条日志并持续打印
docker logs -ft --tail 10 容器名
打开容器终端
docker exec -it 容器名 /bin/bash
更多参考资料:
Docker 教程 | 菜鸟教程 https://www.runoob.com/docker/docker-tutorial.html