Docker学习

发布于:2025-07-01 ⋅ 阅读:(19) ⋅ 点赞:(0)

Docker

在这里插入图片描述

一、下载docker

参考网址:https://www.runoob.com/docker/docker-mirror-acceleration.html

尚硅谷教学视频:https://www.bilibili.com/video/BV1Zn4y1X7AZ/?spm_id_from=333.337.search-card.all.click

我是在虚拟机上练习的,尚硅谷视频在云服务器上演示,不影响。

二、配置镜像

Linux终端运行下面的命令

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://dockerproxy.com",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://ccr.ccs.tencentyun.com"
  ]
}
EOF

完成后,重启docker

sudo systemctl daemon-reload
systemctl restart docker

检查配置是否生效:

docker info

在这里插入图片描述

三、基本操作

3.1 查看官方库,下载,查看本地镜像

docker search nginx
docker pull nginx
docker images

在这里插入图片描述

3.2 启动容器

3.2.1 指令总览

运行 docker run
查看 docker ps
停止 docker stop
启动 docker start
重启 docker restart
状态 docker stats
日志 docker logs
进入 docker exec
删除容器(镜像) docker rm(rmi)
查看日志 docker logs images/id
退出 exit

3.2.2 端口映射

(1)

docker run -d --name mynginx nginx

在这里插入图片描述

-d: 后台启动

–name:自命名

docker run -d --name mynginx -p 80:80 nginx

-p:端口映射 本机:容器

注意:

如果要访问nginx界面,用http协议而不是https

3.2.3 exec详解

(1)

docker exec -it mynginx /bin/bash

-it:交互模式

/bin/bash:bash控制台交互

在这里插入图片描述

(2)echo语句修改文件

在这里插入图片描述

在这里插入图片描述

3.2.4 挂载目录

docker run -d -p 80:80 -v /app/nghtml:/usr/share/nginx/html --name app01 nginx

在这里插入图片描述

缺点:不能挂载配置文件目录,因为刚挂载是目录为空,导致容器配置文件缺失停止。

解决办法:卷映射

3.2.5 卷映射

-v 卷名:/目录

-v ngconf:/etc/nginx

完整命令:

docker run -d -p 80:80 -v /app/nghtml:/usr/share/nginx/html -v ngconf:/etc/nginx --name app01 nginx

卷的位置是docker默认的

/var/lib/docker/volume/ngconf(卷名)

四、保存镜像文件

4.1 提交

docker commit -m "提交信息" mynginx mynginx:v1.0

前一个mynginx是提交的对象,最后一个mynginx是镜像名字:标签

在这里插入图片描述

4.2 保存

将镜像保存为一个文件

docker save -o mynginx.tar mynginx:v1.0

-o:镜像写出成一个文件

在这里插入图片描述

4.3 加载

docker load -i mynginx.tar

在这里插入图片描述

五、分享社区

5.1 登录

进入dockerhub官网:https://hub.docker.com/

docker login

5.2 命令

(1)改名,原来的镜像名字没有用户名

docker tag mynginx:v1.0 zpyai/mynginx:v1.0

在这里插入图片描述

5.3 推送

docker push zpyai/mynginx:v1.0

在这里插入图片描述

在这里插入图片描述

六、docker网络

6.1 查看ip

使用容器ip+容器端口互相访问

(1)ifconfig查看网卡

l%5CTemp%5CQQ_1751018451531.png&pos_id=img-B04vBugY-1751019665385)

(2)查看细节

docker container inspect app01

在这里插入图片描述

6.2 创建自定义网络

加入自定义网络的容器,其名字就相当于域名

docker network create mynet

参数:

在这里插入图片描述

运行结果:

在这里插入图片描述

6.3 容器加入自定义网络

docker run -d -p 80:80 --name app1 --network mynet nginx
docker run -d -p 99:80 --name app2 --network mynet nginx

此时,可以进入容器app1访问app2的域名

docker exec -it app1 bash
curl http://app2:99

]

6.3 容器加入自定义网络

docker run -d -p 80:80 --name app1 --network mynet nginx
docker run -d -p 99:80 --name app2 --network mynet nginx

此时,可以进入容器app1访问app2的域名

docker exec -it app1 bash
curl http://app2:99

暂时到这