安装docker和基础命令
官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。百度搜“阿里云开源镜像站”--“阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区”--“容器”--“docker-ce”--“Docker-ee Docker企业版,主要用于为企业开发及应用部署使用,收费版本。Docker-ce Docker社区版,主要用于个人开发者测试使用,免费版本;指定版本的情况下,进行的安装
- Docker安装
- Docker版本
Docker-ce Docker社区版,主要用于个人开发者测试使用,免费版本;
Docker-ee Docker企业版,主要用于为企业开发及应用部署使用,收费版本
- Docker安装方法
YUM源可以使用官方YUM源、清华大学开源镜像站配置YUM源、阿里云开源镜像站提供的YUM源;
建议选择使用阿里云开源镜像站提供的YUM源,原因速度快
-
- 百度搜“阿里云开源镜像站”--“阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区”--“容器”--“docker-ce”--“CentOS 7(使用 yum 进行安装)”--复制安装命令中的URL路径


# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils

# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Step2: 安装指定版本的Docker-CE: (VERSION例如上
这个可以指定安装docker版本
# sudo yum -y install docker-ce-[VERSION]
sudo yum -y install docker-ce-26.1.4-1.el7

# Step 3: 安装Docker(这是安装最新版本docker)
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
如果启用了多个 Docker 仓库,则在 yum install 或 yum update 命令中未指定版本的情况下,进行的安装或更新将始终安装最高版本,这可能不适合稳定性需求。
要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:
列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:20.10.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable
-
- 启动docker
systemctl start docker
-
- 查看已安装的Docker版本
docker version
配置加速器:(直接安装下面第三个命令)
1)阿里云容器镜像服务


2)国内镜像加速器列表(vpn连接访问):
https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6
在/etc/docker/daemon.json添加如下内容
# cat /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": [
"https://0fivaqt3.mirror.aliyuncs.com",
"https://hub.appifa.com",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
# systemctl daemon-reload
# systemctl restart docker
3)如果以上两种方法都不好用,可以按以下方法,连接国内目前所有可用的镜像源
sudo tee /etc/docker/daemon.json <<EFO
{
"registry-mirrors": [
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"http://hub-mirror.c.163.com"
]
}
EFO

重新加载
systemctl daemon-reload
重新启动docker
systemctl restart docker

- Docker镜像的搜索及获取
补充:Docker命令tab自动补全:
yum install bash-completion

重新登录shell
- 镜像获取:(如果没写标签,则为latest,即最新版本)
docker pull 镜像名[:tag]
如:docker pull centos:7
docker pull nginx:1.20

- 查看镜像信息:
docker images

- 给镜像添加新标签:
docker tag centos:7 centos:latest

- 删除镜像:
docker rmi centos:7

删除所有的镜像:
docker rmi -f $(docker images -q)

- 镜像迁移:
一台主机上导出:
docker save -o centos.tar centos:7

另一台主机导入:
docker load -i centos.tar

- 容器操作:
- 容器的创建和启动
docker create -itd 镜像 /bin/bash
docker ps -a 查看容器
docker start 容器
或创建并启动容器
docker run -it centos:7 /bin/bash
Docker run -d -p 80:80 nginx:1.20
-i 让容器的标准输入保持打开(即交互式);
-t 选项让 Docker 分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上;
-it 保持命令交互式输入的终端;
-d 以守护态(Daemonized)形式后台运行(一般是运行发布服务的容器)
- 容器的终止
docker stop 容器
- 容器的进入和退出
docker exec -it 容器 /bin/bash #进入容器并打开一个子shell
#容器运行时,有终端被打开时可用
docker attach 容
[root@docker-01 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
981be7ea0a09 nginx:1.20 "/docker-entrypoint.…" 7 minutes ago Up 7 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nostalgic_knuth
1371a41e3fa8 centos:7 "/bin/bash" 8 minutes ago Up 48 seconds sharp_feistel
d26e16d27fc3 hello-world "/hello" 13 minutes ago Exited (0) 13 minutes ago dreamy_ritchie
更多推荐



所有评论(0)