部署docker的过程/命令
在linux的ubuntu上安装docker参考如何在 Ubuntu 20.04 上安装和使用 Docker - 知乎 (zhihu.com)
配置:
防火墙、selinux、容器镜像加速器(如果软件镜像下载pull的慢,去阿里云的容器镜像服务配置镜像加速器)、网卡转发(在/etc/sysctl.d/docker.conf下配置然后sysctl -p /etc/sysctl.d/docker.conf)
过程:
在宿主机中下载所需软件镜像、选定目录、在目录下创建DockerFile文件以及容器中所需代码、自定义镜像、基于镜像创建容器
docker命令:
docker search 软件(查询软件)
docker pull 软件:版本(下载软件镜像到docker,默认最新版本)
docker images ( 查看本机docker中存在的镜像)
docker build -t 镜像名:版本号 . -f DockerFile (自定义镜像)
docker run [-d] [-p 端口号:端口号] [--name 容器名] 镜像名:版本号 [--no-cache] [命令参数](创建容器,p为端口转发,d为后台运行)
docker run -ti 镜像名:版本 bash/sh || 创建并进入容器
docker exec -ti 容器id || 在容器执行中进入
docker ps [-a] (列出当前运行容器,a为所有)
docker stop 容器id (终止容器,容器名可以不写全)
docker rm 容器id(清除容器)
技巧:docker stop/rm "docker ps -aq" || 暂停/销毁 所有容器
在DockerFile中的命令:
FROM 指定基础镜像 ||(如ubuntu:20.04、mysql:5.7等)
MAINTAINER 指定镜像维护者 ||(如姓名、邮箱等)
COPY/ADD 文件 目录 || 将宿主机中的文件拷贝到容器中(DockerFile目录下的),ADD自动将压缩包解压
WOEKDIR 当前工作目录 ||(类似于cd)
RUN 命令 || 在容器中执行linux命令
ENV 名称 路径 || 给路径起别名,使用时$路径名称
EXPOSE 端口 || 使用端口
CMD [命令...] || 执行命令(最后一步,只允许一条)
ENTRYPOINT [命令...] || 同CMD,只不过如果在run后面增加命令参数,这个是叠加,cmd是覆盖
ENTRYPOINT [shell脚本路径,shell脚本]
注意:
在docker run中如果不带no cache命令,在DockFile里如果有apt或者git pull时,在第一次下载后会存入缓存中,后续如果git更改代码后是无法更新的,但有缓存下载会很快
在容器中必须有前台进程(在bash体现就是卡住一样,在django显示就是直接运行而不是-d后),如果没有容器立即销毁
特殊的前台进程:在docker run -ti 镜像名:版本 bash/sh 相当于进入容器系统,当前用户的bash充当前台进程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本