很早以前准备学一下 Kubernetes 的参加软件杯,加之期末考试很多,后面因为种种问题,导致只学了 Docker , Kubernetes 给搁置了,其实当时只学了一半,笔记然后想着以后也用不上,就给删除了。 Docker 笔记 的话,就是当作水博客了
1.找镜像
到 docker镜像平台 ,找到需要的 docker 镜像
docker pull nginx #下载最新版
#镜像名:版本名 (标签)
docker pull nginx:1.20 #nginx1.20版本
docker pull redis #redis 镜像 , 默认最新版本
docker pull redis:latest #指定 下载 最新版本
##下载来的镜像都在本地
docker images #查看本地所有镜像2.创建与启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run [设置项] [镜像名] [镜像启动运行的命令(镜像里面默认有的,一般不会写)]
docker run nginx #运行创建 nginx
docker run --name=自定义昵称 -d nginx
# -name //设置容器昵称
# -d //后台运行
# --restart=状态 //设置容器开机是否自启,状态有“always”与“no”
# -p 服务器端口:容器服务器端口 //映射端口
# -v 本地路径:容器路径:ro //容器内部文件地址映射到本地
# :ro //只读模式
# :rw //读写模式
docker update 容器昵称/ID --restart=always
docker start 容器昵称/ID
//再次启动容器,或者说运行已有容器3.查看当前运行容器
docker ps
#查看当前运行容器
docker ps -a
#查看容器历史详细4.删除镜像与容器
镜像与容器不同,镜像是镜像,容器是容器
docker rmi 镜像名:版本号/镜像ID #删除镜像
docker stop 容器昵称/ID #停止容器
docker rm 容器昵称/ID #删除停止的容器
docker rm -f 容器昵称/ID #强制删除容器5.进入容器
docker exec -it 容器ID /bin/bash
#进入容器内部的系统,修改容器内容6.提交改变
将已修改的镜像另存为新镜像
docker commit -a "文本介绍" -m "写那些内容修改了" 容器ID 镜像名:版本7.镜像保存
本地推送
#将镜像保存为压缩包
docker save -o 保存的文件名.tar 提交改变的镜像名:版本
#在别的机器加载这个镜像
docker load -i 保存的文件名.tar仓库推送
docker tag 本地镜像名:版本号 docker平台用户名/仓库名:版本
#先标记要推送的镜像
docker login
#要登陆才能push到docker容器平台上面去
docker push docker平台用户名/仓库名:版本
#上传 docker镜像
docker logout
#推送完成后镜像推出Linux文件下载到Windows本地
scp -r ubuntu@IP:/Linux路径/文件名.tar D:\Windows路径8.补充
docker logs
#查看容器的运行日志
docker run -d -p 888:80 \
-v /data/html:/usr/share/nginx/html:ro \
-v /data/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
--name=mynginxtest \
nginx
#docker 经常修改nginx配置文件9.部署中间件
部署一个Redis + 应用, 尝试应用操作Redis产生的数据
#redis使用自定义配置文件启动
docker run -v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
-d --name myredis \
-p 6379:6379 \
redis:latest redis-server /etc/redis/redis.conf 


































































































































