Docker学习笔记
LittleSheep213
Posted on December 14, 2023
Docker学习笔记
一、docker安装、启动相关命令
- 设置开机启动
systemctl enable docker
- 启动docker
systemctl start docker
systemctl restart docker
- 停止docker
systemctl stop docker
- 其他
## 查看docker信息
docker version
docker info
# 修改完daemon.json文件
systemctl daemon-reload
systemctl restart docker
二、实战篇:部署flask网站
需求:基于docker创建在ubuntu18.04系统上运行自己开发的flask网站
流程:
—在centos7.9安装docker
—基于docker
—获取基础镜像ubuntu18.04
—在基础镜像上构建自定义镜像(ubuntu18.04+python+代码)
—基于镜像创建容器+运行
- 获取基础镜像ubuntu18.04
docker pull ubuntu:18.04
遇到错误
Error response from daemon: Get "https://registry-1.docker.io/xxx": net/http: TLS handshake timeout
解决方案
修改/etc/docker/daemon.json文件,换源?
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
- 在基础镜像上构建自定义镜像
Dockerfile+语法
—在docker宿主机centos7.9创建两个文件:
Dockerfile
# Base images 基础镜像
FROM ubuntu:18.04
# MAINTAINER 维护者信息
maintainer ycy 1612868733@qq.com
# RUN 执行以下命令
RUN apt update
RUN apt install python3 python3-pip -y
RUN pip3 install flask
RUN mkdir -p /data/www/
# 拷贝文件至工作目录
COPY app.py /data/www/app.py
# 工作目录
WORKDIR /data/www/
# 容器启动执行命令
CMD ["python3", "app.py"]
app.py
from flask import Flask
app = Flask(__name__)
@app.route("/index")
def index():
return "hello world"
if __name__=="__main__":
app.run(host="0.0.0.0", port=8000)
命令构建自定义的镜像
docker build -t ycyflask:1.0 . -f Dockerfile
- 基于镜像创建容器+运行
docker run -p 80:8000 ycyflask:1.0
docker run -d -p 80:8000 ycyflask:1.0 # 后台运行
# 查看运行着的容器ID
docker ps
docker ps -a
# 停止容器
docker stop #容器ID(可以只写前三位) 只用这个指令在ps -a的时候还是可以查到
docker rm #容器ID ps -a 里面也没有了
三、docker命令大全(可跳过)
docker attach #连接到正在运行中的容器
docker build #使用 Dockerfile 创建镜像
docker builder #管理builds
docker builder prune #清除build缓存
docker checkpoint #管理checkpoints
docker checkpoint create #从正在运行的容器创建检查点
docker checkpoint ls #列出容器的检查点
docker checkpoint rm #删除指定的检查点
docker commit #从容器创建一个新的镜像
docker config #管理Docker配置
docker config create #创建配置文件
docker config inspect #查看配置文件信息
docker config ls #显示docker里已经保存得配置文件
docker config rm #删除配置文件
docker container #管理容器
docker container prune #删除所有已停止的容器
docker context #管理contexts
docker context create #创建一个上下文
docker context export #将上下文导出到tar或kubecconfig文件中
docker context import #从tar或zip文件导入上下文
docker context inspect #在一个或多个上下文上显示详细信息
docker context ls #列出上下文
docker context rm #删除一个或多个上下文
docker context update #更新
docker context use #设置当前docker的上下文
docker cp #用于容器与主机之间的数据拷贝
docker create #创建一个新的容器但不启动它
docker diff #检查容器里文件结构的更改
docker events #从服务器获取实时事件
docker exec #在运行的容器中执行命令
docker export #将文件系统作为一个tar归档文件导出到STDOUT
docker history #查看指定镜像的创建历史
docker image #管理镜像
docker image inspect #显示一个或多个镜像的元数据
docker image ls #列出本地镜像
docker image prune #删除没有使用的镜像
docker image rm #删除一个或多个镜像
docker images #列出本地镜像
docker import #从归档文件中创建镜像
docker info #显示 Docker 系统信息,包括镜像和容器数
docker inspect #获取容器/镜像的元数据
docker kill #杀掉一个运行中的容器
docker load #导入使用 docker save 命令导出的镜像
docker login #登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout #登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logs #获取容器的日志
docker manifest #管理manifest(实验,不应用于生产环境)
docker manifest annotate #向本地镜像清单添加附加信息
docker manifest create #创建用于注释和推入注册表的本地清单列表
docker manifest inspect #显示镜像清单或清单列表
docker manifest push #将清单列表推入仓库
docker manifest rm #从本地存储中删除一个或多个清单列表
docker network #管理网络
docker network connect #将容器连接到网络
docker network create #创建一个网络
docker network disconnect #断开容器的网络
docker network inspect #显示一个或多个网络的元数据
docker network ls #列出网络
docker network prune #删除所有没有使用的网络
docker network rm #删除一个或多个网络
docker node #管理集群(swarm)节点
docker node demote #从群集(swarm)管理器中降级一个或多个节点
docker node inspect #显示一个或多个节点的元数据
docker node ls #列出群集(swarm)中的节点
docker node promote #将一个或多个节点推入到群集管理器中
docker node ps #列出在一个或多个节点上运行的任务,默认为当前节点
docker node rm #从群集(swarm)删除一个或多个节点
docker node update #更新一个节点
docker pause #暂停容器中所有的进程
docker plugin #管理插件
docker plugin create #从rootfs和配置创建一个插件。插件数据目录必须包含config.json和rootfs目录。
docker plugin disable #禁用插件
docker plugin enable #启用插件
docker plugin inspect #显示一个或多个插件的元数据
docker plugin install #安装一个插件
docker plugin ls #列出所有插件
docker plugin push #将插件推送到注册表
docker plugin rm #删除一个或多个插件
docker plugin set #更改插件的设置
docker plugin upgrade #升级现有插件
docker port #列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口
docker ps #列出容器
docker pull #从镜像仓库中拉取或者更新指定镜像
docker push #将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker rename #重命名容器
docker restart #重启容器
docker rm #删除一个或多个容器
docker rmi #删除一个或多个镜像
docker run #创建一个新的容器并运行一个命令
docker save #将指定镜像保存成 tar 归档文件
docker search #从Docker Hub查找镜像
docker secret #管理Docker secrets
docker secret create #从文件或STDIN创建一个秘密作为内容
docker secret inspect #显示有关一个或多个秘密的详细信息
docker secret ls #列出秘密
docker secret rm #删除一个或多个秘密
docker service #管理服务
docker service create #创建一个服务
docker service inspect #查看服务的元数据
docker service logs #获取服务的日志
docker service ls #列出服务
docker service ps #列出一个或多个服务的任务
docker service rm #删除一个或多个服务
docker service rollback #将更改恢复到服务的配置
docker service scale #缩放一个或多个复制服务
docker service update #更新服务
docker stack #管理堆栈
docker stack deploy #部署新的堆栈或更新现有堆栈
docker stack ls #列出现有堆栈
docker stack ps #列出堆栈中的任务
docker stack rm #删除堆栈
docker stack services #列出堆栈中的服务
docker start #启动一个或多个已经被停止的容器
docker stats #显示容器的实时流资源使用统计信息
docker stop #停止一个运行中的容器
docker swarm #管理集群(Swarm)
docker swarm ca #查看或旋转当前群集CA证书。此命令必须针对管理器节点
docker swarm init #初始化一个群集(Swarm)
docker swarm join #加入群集作为节点和/或管理器
docker swarm join-token #管理加入令牌
docker swarm leave #离开群集(Swarm)
docker swarm unlock #解锁群集(Swarm)
docker swarm unlock-key #管理解锁钥匙
docker swarm update #更新群集(Swarm)
docker system #管理Docker
docker system df #显示docker磁盘使用情况
docker system events #从服务器获取实时事件
docker system info #显示系统范围的信息
docker system prune #删除未使用的数据
docker tag #标记本地镜像,将其归入某一仓库
docker top #查看容器中运行的进程信息,支持 ps 命令参数
docker trust #管理Docker镜像的信任
docker trust inspect #返回有关key和签名的低级信息
docker trust key #管理登入Docker镜像的keys
docker trust key generate #生成并加载签名密钥对
docker trust key load #加载私钥文件以进行签名
docker trust revoke #删除对镜像的认证
docker trust sign #镜像签名
docker trust signer #管理可以登录Docker镜像的实体
docker trust signer add #新增一个签名者
docker trust signer remove #删除一个签名者
docker unpause #恢复容器中所有的进程
docker update #更新一个或多个容器的配置
docker version #显示 Docker 版本信息
docker volume #管理volumes
docker volume create #创建一个卷
docker volume inspect #显示一个或多个卷的元数据
docker volume ls #列出卷
docker volume prune #删除所有未使用的卷
docker volume rm #删除一个或多个卷
docker wait #阻塞运行直到容器停止,然后打印出它的退出代码
💖 💪 🙅 🚩
LittleSheep213
Posted on December 14, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
webdev Understanding HTTP, Cookies, Email Protocols, and DNS: A Guide to Key Internet Technologies
November 30, 2024