安装
ps:
- docker.io 是 Debian 团队维护的
- docker-ce 是 docker 官方维护的社区版(Community Edition)
- docker-ee 是 docker 官方维护的商业版(Enterprise Edition)
docker安装
官方脚本
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyundebian/ubuntu
建议直接安装apt库的docker-io版
apt update && apt install -y docker.io查看版本
docker versiondocker-compose安装
从github上下载文件(linux通用)
curl -L "https://github.com/docker/compose/releases/download/latest/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose查看版本
docker-compose versiondebian/ubuntu安装docker-ce
- 更新软件包列表:
在终端中执行以下命令以确保软件包列表是最新的:
apt update- 安装依赖包:
安装一些必要的软件包,以便使用HTTPS传输:
apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common dirmngr- 添加Docker官方的GPG密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -- 添加Docker软件包仓库:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"- 更新软件包列表:
再次运行更新以获取Docker软件包:
apt update- 安装Docker Engine:
apt install docker-ce -y- 验证Docker版本:
运行以下命令来验证Docker是否正确安装:
docker --version- 将Docker设置为开机启动:
systemctl enable docker- 将用户添加到docker组(可选):
如果想允许非root用户运行Docker命令,可以将他们添加到docker用户组中:
usermod -aG docker your_username请将 “your_username” 替换为希望添加到docker组的用户名。
RedHat/Cent安装docker-ce
卸载旧版本(如果装过)
yum remove docker docker-common docker-selinux docker-engine安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2查看可用docker版本有哪些
yum list docker-ce --showduplicates | sort -r选择一个版本并安装:yum install docker-ce-版本号
注意:24版本和26版本的镜像不通用
yum -y install docker-ce-24.0.0查看版本号
docker version改查
修改容器配置参数
/var/lib/docker/containers/<容器ID>修改docker默认存储目录
vim /etc/docker/daemon.json{
"data-root": "/data/docker"
}systemctl daemon-reload && systemctl restart docker一句话命令(测试)
mkdir -p /etc/docker && echo '{"data-root":"/data/docker"}' | tee /etc/docker/daemon.json >/dev/null && systemctl restart docker查看容器启动命令
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run_container <容器ID>其他命令
docker-compose重新构建容器
docker-compose up --build -d拉取镜像
docker pull <images_name>:latest //latest为最新镜像的意思设置容器开机自启
//容器初次启动添加的参数
--restart=always//已启动的容器设置
docker update --restart=always <docker_ID>//取消开机自启动
docker update --restart=no <docker_ID>//批量给所有容器添加自启动标签
docker ps -aq | xargs -I {} docker update --restart=always {}将文件从本机上传到docker容器
docker cp <local_path> <docker_ID>:<docker_path>从docker容器中下载文件
docker cp <docker_ID>:<local_path> <local_path>将容器保存为镜像
docker commit <docker_ID> <要保存的镜像名称>:v1.1自动保持 docker 容器镜像最新
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower批量操作
给所有容器添加自启动标签
docker ps -aq | xargs -I {} docker update --restart=always {}停止/删除所有容器
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)停止/删除所有名字包含linglong的容器
docker stop $(docker ps -a | grep 'linglong' | awk '{print $1}')
docker rm $(docker ps -a | grep 'linglong' | awk '{print $1}')删除所有未打dangling标签的镜像
docker rmi $(docker images -q -f dangling=true)删除所有名字包含linglong的镜像
docker rmi $(docker images | grep "linglong" | awk '{print $3}')删除所有镜像
docker rmi -f $(docker images -q)配置docker代理
-
创建 dockerd 相关的 systemd 目录,这个目录下的配置将覆盖 dockerd 的默认配置
mkdir -p /etc/systemd/system/docker.service.d -
新建配置文件
http-proxy.conf,这个文件中将包含环境变量vim /etc/systemd/system/docker.service.d/http-proxy.conf -
写入代理配置
[Service] Environment="HTTP_PROXY=http://10.0.0.100:10808" Environment="HTTPS_PROXY=http://10.0.0.100:10808" -
重新加载配置文件,重启 dockerd
systemctl daemon-reload && systemctl restart docker
一句话命令(测试)
mkdir -p /etc/systemd/system/docker.service.d && echo -e '[Service]\nEnvironment="HTTP_PROXY=http://10.0.0.100:10808"\nEnvironment="HTTPS_PROXY=http://10.0.0.100:10808"' > /etc/systemd/system/docker.service.d/http-proxy.conf && systemctl daemon-reload && systemctl restart docker