dorker
源 | 备注 |
---|---|
Guide | |
Manual | |
Dockerfile reference | |
国外docker hub | |
国内docker hub | |
Quay | 红帽镜像源 |
基于浏览器的实验平台 | 4个小时 |
阿里云国内加速镜像 | 配置文件 |
aws 镜像 |
blog
blog | desc |
---|---|
Docker教程 |
前缀镜像
前缀 | 用法 | 相关 |
---|---|---|
docker.m.daocloud.io | docker pull apache/skywalking-oap-server:9.7.0 ->docker pull docker.m.daocloud.io/docker.io/apache/skywalking-oap-server:9.7.0 | gitcode daocloud github daocloud |
Docker 安装
网址 | 备注 |
---|---|
麦兜IT |
Windows
- download docker
Linux
网址 | 备注 |
---|---|
github docker install |
centos
移除原来的docker
sh
# remove
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker- engine-selinux docker-engine
#or
yum remove docker*
安装
sh
# 安装工具
yum install -y yum-utils
# 添加docker源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum缓存(centos)
sudo yum update -y
sudo yum makecache fast
# 检查防火墙并关闭
systemctl status firewalld.service
systemctl stop firewalld.service
# install docker-buildx-plugin构建,docker-compose-plugin将原 docker-compose 独立工具整合为 Docker CLI 的子命令(docker compose),提供更好的兼容性和功能扩展。
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 开启防火墙
systemctl restart firewalld.service
ubuntu
sh
# 更新apt缓存(ubuntu) 安装依赖:
sudo apt update -y
sudo apt-get install ca-certificates curl gnupg
# 添加 Docker 的 GPG 密钥:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 添加 Docker 软件源: 官方软件源https://download.docker.com
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新软件包列表
sudo apt update
# 安装 Docker:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
自动化脚本安装
sh
# download script
curl -fsSL https://get.docker.com -o install-docker.sh
# Install docker through Aliyun
sudo sh install-docker.sh --mirror Aliyun|AzureChinaCloud
配置
sh
# 设置Docker守护进程配置(可选)
if [ ! -f /etc/docker/daemon.json ]; then
sudo mkdir -p /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"storage-driver": "overlay2",
"registry-mirrors": [
"https://swr.cn-north-4.myhuaweicloud.com",
"https://ccr.ccs.tencentyun.com",
"https://docker.m.daocloud.io",
"https://docker.hlmirror.com",
"https://docker-0.unsee.tech",
"https://docker.kejilion.pro",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://hub.littlediary.cn",
"https://image.cloudlayer.icu",
"https://hub3.nat.tf",
"https://func.ink",
"https://a.ussh.net",
"https://lispy.org",
"https://docker.yomansunter.com",
"https://docker.xuanyuan.me",
"https://docker.mybacc.com",
"https://dytt.online",
"https://docker.xiaogenban1993.com",
"https://dockerpull.cn",
"https://dockerpull.pw",
"https://docker-mirror.aigc2d.com",
"https://hub.fast360.xyz",
"https://docker.melikeme.cn"
],
"proxies": {
"http-proxy": "http://127.0.0.1:7890",
"https-proxy": "http://127.0.0.1:7890",
"no-proxy": "*.test.example.com,.example.org,127.0.0.0/8"
}
}
EOF
fi
# 使能并重启docker
systemctl enable docker
systemctl start docker
# or
sudo systemctl daemon-reload
sudo systemctl restart docker
# or 启动& 开机启动docker; enable + start 二合一
systemctl enable docker --now
# 验证Docker是否安装成功
docker version
仅安装docker客户端
sh
# 仅安装 Docker CLI(不安装 dockerd),完整引擎安装docker-ce
sudo apt install -y docker-ce-cli
# 验证安装
docker --version
# 二进制客户端
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-24.0.7.tgz | tar -xz --strip-components=1 docker/docker
# 移动到 PATH(如 /usr/local/bin)
sudo mv docker /usr/local/bin/
docker --version
# 客户端需要添加相应配置
export DOCKER_HOST=tcp://docker-in-docker:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_TLS_CERTDIR=/certs
export DOCKER_CERT_PATH=/certs/client
# Docker 客户端需要连接远程 dockerd(如宿主机或其他服务器),需配置环境变量
export DOCKER_HOST="tcp://<远程IP>:2375" # 或 Unix socket: "unix:///var/run/docker.sock"
# 或使用 -H 参数:
docker -H tcp://192.168.1.100:2375 ps
代理设置
Daemon configuration
You may configure proxy behavior for the daemon in the daemon.json
file, or using CLI flags for the --http-proxy
or --https-proxy
flags for the dockerd
command. Configuration using daemon.json
is recommended.
json
{
"proxies": {
"http-proxy": "http://proxy.example.com:3128",
"https-proxy": "https://proxy.example.com:3129",
"no-proxy": "*.test.example.com,.example.org,127.0.0.0/8"
}
}
After changing the configuration file, restart the daemon for the proxy configuration to take effect:
sh
sudo systemctl restart docker
添加用户到docker组
- 检查docker组是否存在, 创建docker用户组
sh
# 检查docker组是否存在
grep docker /etc/group
# 不存在则创建docker用户组
sudo groupadd docker
# or
if [ ! $(getent group docker) ]; then
sudo groupadd docker
else
echo "docker user group already exists"
fi
- 添加当前用户加入docker用户组
sh
sudo usermod -aG docker ${USER}
# or
sudo gpasswd -a $USER docker
- 重启docker服务
sh
sudo systemctl restart docker
- 重新登录用户
sh
# 为了使修改生效,需要重新登录要添加到docker组的用户。可以使用以下命令注销并重新登录:
logout
# or
# 切换到root用户
su root
# 再切换到原来的应用用户以上配置才生效
su ${USER}
- 切换或者退出当前账户再从新登入
sh
# 如果当前用户执行无报错, 则表示用户已经加到docker组
docker ps
- 如果执行docker ps还有报错
sh
# 查看/var/run/docker.sock文件的权限
ls -al /var/run/docker.sock
sh
# 若是其他用户没有访问权限,则需要配置下权限
sudo chmod o+rw /var/run/docker.sock
然后重新执行docker ps 无报错则可以了
Windows上切换使用docker和虚拟机
shell
# 详情访问https://docs.docker.com/desktop/troubleshoot/topics/#virtualization
bcdedit /set hypervisorlaunchtype auto