bash# ALL linux
curl https://get.docker.com/ | sh
# Or
wget -O - https://get.docker.com/ | sh
###########################################################
### Ubuntu
# step 1: 安装必要的一些系统工具
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
# 信任 Docker 的 GPG 公钥:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 添加软件仓库:d
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 最后安装
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
###########################################################
### CentOS
# step 1: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce docker-ce-cli docker-compose-plugin
# Step 4: 开启Docker服务
systemctl enable docker
systemctl start docker
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
bashsudo usermod -aG docker $USER
sudo systemctl restart docker
bash# docker-compose
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
# 更方便使用 docker exec 命令
sudo tee /usr/local/bin/dssh > /dev/null << EOF
#!/bin/sh
docker exec -it \$1 sh
EOF
sudo chmod a+x /usr/local/bin/dssh
bashsudo tee /etc/docker/daemon.json > /dev/null << EOF
{
"registry-mirrors": [
"https://mirror.baidubce.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://dockerhub.azk8s.cn",
"https://mirror.ccs.tencentyun.com",
"https://registry.cn-hangzhou.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"
],
"insecure-registries": ["192.168.0.237:8008"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
bashdocker pull centos:7
bashdocker run --rm -it centos:7 /bin/bash
docker run -d --name mytomcat -p8080:8080 -v C:\source\mycode\Docker:/usr/local/tomcat/webapps tomcat
bashdocker ps
bashdocker start mynignx docker stop mynignx docker restart mynignx
bashdocker rm mynignx
# 删除所有已经停止的容器
docker rm $(docker ps -a -q)
bashdocker exec -it mytomcat /bin/bash
bashdocker inspect [OPTIONS] NAME|ID [NAME|ID...]
bashdocker system df
bashdocker system prune
bashdocker rmi $(docker images -f "dangling=true" -q)
docker image prune
bashdocker image prune -a -f
bashdocker volume rm $(docker volume ls -qf dangling=true)
bashdocker builder prune -af
bashtruncate -s 0 /var/lib/docker/containers/**/*-json.log
bashdocker stop $(docker ps -a -q)
bashdocker rm $(docker ps -a -q)
bashdocker save -o nginx.tar nginx:latest docker save > nginx.tar nginx:latest
bashdocker load -i nginx.tar docker load < nginx.tar
docker save nginx:latest | gzip > nginx.tar.gz gunzip -c nginx.tar.gz | docker load
dockerfileRUN sed -i 's#archive.ubuntu.com#mirrors.aliyun.com#g' /etc/apt/sources.list
dockerfileFROM kalilinux/kali-rolling MAINTAINER cainiao <565499699@qq.com> RUN sed -i "s#http://http.kali.org/kali#http://mirrors.aliyun.com/kali#g" /etc/apt/sources.list RUN apt update && \ apt full-upgrade -y && \ apt install -y nmap && \ rm -rf /var/lib/apt/lists/* ENTRYPOINT ["/usr/bin/nmap"]
bash# --tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
# -f :指定要使用的 Dockerfile 文件
# --no-cache : 构建映像时不使用缓存
docker build -t name1/name2:tag -f Dockerfile .
bash# 启动 (-d: 后台运行,-f: 指定yml文件,不写为默认 docker-compose.yml 文件)
docker-compose up -d
# 停止
docker-compose stop
# 删除
docker-compose rm
# 停止并删除
docker-compose down
# 启动指定 XXX.yml 并且后台运行的容器
docker-compose -f XXX.yml up -d
bashdocker login 192.168.0.237:8008
bashdocker tag af8f9e52dbba 192.168.0.237:8008/openmetadata/db:0.12.0
bashsudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null << EOF
[Service]
Environment="HTTP_PROXY=http://172.16.253.1:8888"
Environment="HTTPS_PROXY=https://172.16.253.1:8888"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl show --property=Environment docker
本文作者:菜鸟
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 许可协议。转载请注明出处!