首页 > 其他分享 >部署docker的过程/命令

部署docker的过程/命令

时间:2023-06-02 18:25:22浏览次数:49  
标签:容器 run 部署 命令 镜像 docker DockerFile

在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 ps [-a] (列出当前运行容器,a为所有)

  docker stop 容器名  (终止容器,容器名可以不写全)

  docker rm  容器名(清除容器)

  技巧: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充当前台进程

标签:容器,run,部署,命令,镜像,docker,DockerFile
From: https://www.cnblogs.com/weakxy-home/p/17452529.html

相关文章

  • 云原生之使用Docker部署Ghost个人博客
    (云原生之使用Docker部署Ghost个人博客)一、检查本地系统版本[root@docker~]#cat/etc/os-releaseNAME="CentOSLinux"VERSION="7(Core)"ID="centos"ID_LIKE="rhelfedora"VERSION_ID="7"PRETTY_NAME="CentOSLinux7(Core)&qu......
  • Docker常用软件安装
    jdk dockerepullopenjdk:11 dockerrun-d-t--namejava-11openjdk:11MySQL 可以从dockerhup中查找自己想要安装的版本 dockerpullmysql:5.7 拉取镜像 创建容器 #在/root目录下创建mysql目录用于存储mysql数据信息 mkdir/root/mysql  cd/root/mysql  do......
  • 详解Oracle用户解锁命令的两则实现方法
    在安装完Oracle10g之后,想打开sql*plus来学习,然后按照书上的步骤用scott用户来连接数据库,可输了好几次都提示一个错误。error:theaccountislocked然后上网查了一下之后发现这个用户被锁定了,至于它为什么被锁定,可能是下面几个原因。1.尝试多次登录未成功.(可能密码不正确)2.此用......
  • Docker 常用命令
    信息命令dockerinfo:显示Docker的系统信息,包括镜像和容器的数量。dockerversion:显示Docker的版本信息。帮助命令docker命令--help:帮助命令。镜像命令dockerimages:查看所有本地主机上的镜像。可以使用dockerimagels代替。dockersearch:搜索镜像。dockerp......
  • k8s 使用crio,pod ip无法ssh登录,无法使用ping命令
    使用crio容器运行时,部署sshpod后,[email protected]后,出现connectionresetby127.0.0.1port22.但是telnet显示能通,在pod中ping其他pod出现socket:Operation not permitted,权限问题。通过测试在contianerd与docker没出现这个问题,基本上与crio有关了。......
  • Docker常见问题
    1、容器内无法输入中文当在Docker容器内输入中文或者复制中文内容时,有时会出现无法识别的情况。以下是解决方案:进入容器时在命令中添加环境变量:dockerexec-itcontainer_nameenvLANG=C.UTF-8/bin/bash在Dockerfile中使用ENV命令设置环境变量:ENVLANG=C.UTF-8这个......
  • Linux 操作系统上部署 ClamAV病毒查杀软件
    0.序言因为公司业务合作,对方需要我方提交审查资料,其中需要包含Linux主机的病毒扫描情况,特记录一次ClamAV的部署与使用1.clamav介绍ClamAV是一个开源的引擎,用于检测病毒、木马、恶意软件和其他威胁。ClamAV支持Windows、Linux和MacOS等系统,ClamAV社区提供了免费的持续的病毒......
  • Docker 安装nacos
    dockerrun-d--name=gch-aas-nacos\--envSPRING_DATASOURCE_PLATFORM=mysql\--envMYSQL_SERVICE_HOST=127.0.0.1\--envMYSQL_SERVICE_PORT=3306\--envMYSQL_SERVICE_DB_NAME=nacos\--envMYSQL_SERVICE_USER=root\--envMYSQL_SERVICE_PAS......
  • linux 常用命令
    linux常用命令有:pwd命令使用pwd命令找出您所在的当前工作目录(文件夹)的路径。该命令将返回一个绝对(完整)路径,该路径基本上是所有以/开头的目录的路径。绝对路径的一个示例是/home/username。cd命令要浏览Linux文件和目录,请使用cd命令。根据您所在的当前工作目录......
  • springboot gradle dockerfle
    本地打包FROMopenjdk:8-jdk-alpineRUNset-eux&&sed-i's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g'/etc/apk/repositoriesRUNmkdir/appCOPYbuild/libs/dataExChangePlatform-0.0.1-SNAPSHOT.jar/app/dataExChangePlatform-0.0.1-SNAPSHOT.......