docker笔记整理
微冷 2022/3/3 docker
https://hub.docker.com/
# 手动安装
# 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 删除之前安装的版本
yum remove docker-ce
rm -rf /var/lib/docker
1
2
3
2
3
# 安装 Docker Engine-Community
# 使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 安装 Docker Engine-Community
# 安装最新版本
sudo yum install docker-ce docker-ce-cli containerd.io
1
# 安装稳定版本
列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。
yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
可安装的软件包
* updates: mirrors.bupt.edu.cn
Loading mirror speeds from cached hostfile
* extras: mirrors.njupt.edu.cn
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-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-20.10.9。
# 安装上面列表第一行的稳定版本
sudo yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io
1
2
2
# 启动 Docker
sudo systemctl start docker
# 通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。
sudo docker run hello-world
1
2
3
4
2
3
4
# 使用笔记
一个例子说明参数作用
docker run -itd --name ubuntu -p 5000:5000 ubuntu:15.10 /bin/bash
1
- docker: Docker 的二进制执行文件。
- run: 与前面的 docker 组合来运行一个容器。
- ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
- /bin/bash 在启动的容器里执行的命令
- -t: 在新容器内指定一个伪终端或终端。
- -i: 允许你对容器内的标准输入 (STDIN) 进行交互。
- -d: -d:让容器在后台运行。
- -name: 自定义docker名字
- -P: 将容器内部使用的网络端口随机映射到我们使用的主机上。
- -p: 是容器内部端口绑定到指定的主机端口。
# 常用命令
- docker ps 查看容器
docker ps -l # 查询最后一次创建的容器
1
- docker stop 停止容器
docker stop ubuntu # 可以是是名字,可以是ID
1
docker exec 连接容器
docker port 查看端口映射
docker start 启动
docker restart 重启
docker rm 删除容器
docker images 列出本地镜像列表
docker pull 下载镜像
docker search 查找镜像
docker rmi 删除镜像
docker inspect 查看容器状态
# 查看容器所有状态信息
docker inspect NAMES
# 查看 容器ip 地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' ID/NAMES
docker inspect tracker |grep IPAddress
# 容器运行状态
docker inspect --format '{{.Name}} {{.State.Running}}' NAMES
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 文件传递
docker cp /root/test.txt ecef8319d2c8:/root/
docker cp ecef8319d2c8:/root/test.txt /root/
1
2
3
2
3
# 网络连接
# 新建网络
docker network create -d bridge test-net
1
- -d:参数指定 Docker 网络类型,有 bridge、overlay
# 连接容器
运行一个容器并连接到新建的 test-net 网络:
$ docker run -itd --name test1 --network test-net ubuntu /bin/bash
1
打开新的终端,再运行一个容器并加入到 test-net 网络:
$ docker run -itd --name test2 --network test-net ubuntu /bin/bash
1
/*进入容器*/
docker exec -it storage /bin/bash
1
2
2
留言: