Docker安装和部署
目录
Docker 安装和部署
环境准备
| 主机名 | ip | ip | 配置 |
|---|---|---|---|
| docker01 | 10.0.0.101 | 172.16.1.101 | 1h1g |
| docker02 | 10.0.0.102 | 172.16.1.102 | 1h1g |
安装 Docker
使用清华源下载 dockerTP


# 下载docker 官方源
[root@docker01 ~]# wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
# 替换为清华源下载地址
[root@docker01 ~]# sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 下载docker
[root@docker01 ~]# yum install -y docker-ce docker-ce-cli containerd.io
# 查看docker客户端版本
[root@db01 ~]# docker version
Client: Docker Engine - Community
Version: 24.0.6
API version: 1.43
Go version: go1.20.7
Git commit: ed223bc
Built: Mon Sep 4 12:35:25 2023
OS/Arch: linux/amd64
Context: default
# 启动docker服务端
[root@docker01 ~]# systemctl start docker
# 查看docker服务端版本
[root@docker01 ~]# docker version
Client: Docker Engine - Community
Version: 24.0.6
API version: 1.43
Go version: go1.20.7
Git commit: ed223bc
Built: Mon Sep 4 12:35:25 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.6
API version: 1.43 (minimum version 1.12)
Go version: go1.20.7
Git commit: 1a79695
Built: Mon Sep 4 12:34:28 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.22
GitCommit: 8165feabfdfe38c65b599c4993d227328c231fca
runc:
Version: 1.1.8
GitCommit: v1.1.8-0-g82f18fe
docker-init:
Version: 0.19.0
GitCommit: de40ad0
查看docker详细信息
[root@db01 ~]# docker info
配置 docker 镜像加速
位置:/etc/docker
文件名:damon.json



mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://7t3bpp45.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
运行第一个容器
# 运行容器前
[root@docker01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
## alpine是占容量最小的操作系统
# 使用docker运行容器alpine这个操作系统并打印"Hello World"
[root@docker01 ~]# docker run alpine /bin/echo "Hello World"
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
59bf1c3509f3: Pull complete
Digest: sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300
Status: Downloaded newer image for alpine:latest
Hello World
# 运行容器后
[root@docker01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest c059bfaa849c 21 months ago 5.59MB
docker 镜像站
TP
docker 使用相关命令 - 镜像
# 拉镜像
镜像名称:镜像仓库名:标签
docker pull alpine:latest
当拉取镜像时不填写标签时会默认latest
## 拉取centos7镜像
[root@db01 ~]# docker pull centos:7
# 查看镜像
docker image ls
docker images
# 只查看所有镜像ID
docker images -q
# 搜索镜像
docker search 镜像名
# 删除镜像
docker rmi alpine:latest(镜像名:标签)\镜像ID
# 包容器打包为镜像
docker commit web01 web01:1
# 保存镜像
docker save alpine:latest -o /tmp/alpine_latest.tgz
docker save alpine:latest > /tmp/alpine_latest.tgz
docker save 镜像名:标签 -o /URL/镜像包
# 导入镜像
docker load -i /root/alpine_latest.tgz
docker load < /root/alpine_latest.tgz
docker load < 镜像包名
# 导出镜像
[root@docker01 ~]# docker save alpine:latest -o /tmp/alpine_latest.tgz
[root@docker01 ~]# scp /tmp/alpine_latest.tgz 172.16.1.52:/root
[root@docker02 ~]# docker load < /root/alpine_latest.tgz
[root@docker02 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest c059bfaa849c 21 months ago 5.59MB
# 打标签
docker tag imageID 新镜像名:新标签
docker 使用相关命令 - 容器
# 查看所有容器
docker ps -a
# 只查看所有容器ID
docker ps -a -q
# 查看正在运行的容器
docker ps
# 删除容器
docker rm 容器名\容器ID
# 快捷删除容器
docker rm $(docker ps -a -q)
# 停止容器(需要运行过的容器)
docker stop 容器ID
# 启动容器(需要运行过的容器)
docker start 容器ID
# 把容器的bash放在后台运行(第一次启动容器)
docker run -it -d 镜像名:标签 bash
# 进入容器的bash
docker exec -it 容器ID bash
容器名词解析
# 查询容器进程
[root@web01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
10b069b91955 ubuntu "bash" 8 seconds ago Up 7 seconds busy_lalande
CONTAINER ID # docker ID
IMAGE # 镜像名
COMMAND # 守护进程命令
CREATED # 创建的时间点
STATUS # 运行时长
PORTS # 端口状态
NAMES # 容器名
浙公网安备 33010602011771号