Docker 使用
本文记录 Docker 与 docker-compose 的离线安装与常用操作。
一、安装 Docker
1、下载 Docker 安装包
https://download.docker.com/linux/static/stable/x86_64/
此处选择 23.0.0 版本,与其他服务器保持一致。
2、上传至服务器并解压
tar -zxvf docker-23.0.0.tgzzsh3、将解压出的 docker/ 目录下所有文件复制到 /usr/bin 目录下
cp -rf docker/* /usr/bin/zsh4、创建 docker.service 文件
进入 /usr/lib/systemd/system/ 目录,创建并编辑 docker.service 文件,用于管理 Docker 服务,将以下内容复制粘贴进去即可。
vi /usr/lib/systemd/system/docker.servicezsh[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd \
-H tcp://0.0.0.0:4243 \
-H unix:///var/run/docker.sock \
--selinux-enabled=false \
--log-opt max-size=100m
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.targetzsh5、执行 daemon-reload 重新加载配置
systemctl daemon-reloadzsh6、设置开机启动
systemctl enable docker.servicezsh7、启动 Docker 并查看版本
systemctl start docker
docker versionzsh二、安装 docker-compose
1、下载 docker-compose 文件
https://github.com/docker/compose/releases/tag/v2.18.1
此处选择 linux_x86_64 版本。
2、上传至服务器并复制到指定目录
# 复制到 /usr/local/bin
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 设置可执行
chmod +x /usr/local/bin/docker-compose
# 创建软链
ln -sf /usr/local/bin/docker-compose /usr/bin/docker-composezsh3、验证是否安装成功
docker-compose versionzshDocker 使用
# 进入容器
docker exec -it redis bashzsh# 打包镜像
docker build -t vue-app .
# 基于compose构建容器
docker-compose up -d
# 删除compose构建的容器
docker-compose down
# 重启相关容器
docker-compose restart rediszsh使用 docker ps -a 检查 Redis 容器是正在运行还是已停止,并查看其退出状态代码。
docker ps -azsh查看容器的日志
例如查看 Redis 容器的日志,可以了解启动失败的具体原因。
docker logs rediszsh如需单独使用命令创建容器,可执行:
docker run -d -p 8080:8080 flowablezshMySQL 的用户权限
确保 root 用户或其他用户允许从外部访问,可通过以下步骤检查:
-
进入 MySQL 容器:
zshdocker exec -it mysql bash -
登录 MySQL:
zshmysql -u root -p -
确保 MySQL 用户可以从任意主机(即
%)进行访问:
sqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;