部署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充当前台进程

posted @   weakxy  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示