首页 > 其他分享 >Dockerfile及docker简单使用

Dockerfile及docker简单使用

时间:2023-11-18 17:55:05浏览次数:36  
标签:容器 name -- 简单 镜像 docker Dockerfile

Dockerfile个人使用总结

Dockerfile的编写

FROM python      # 从基础镜像开始构建
COPY . /app      # 复制文件到镜像层
WORKDIR /app     # 指定工作目录
EXPOSE 80        # 暴露端口供外部使用
RUN pip install -r requirements.txt  # 构建镜像时的命令,一个RUN构建一层,因此构建时注意用&&来连接多条命令
CMD python news.py   # 容器运行时的命令,多个CMD只会运行最后一个

构建容器

# docker必须在sudo权限下使用
$ docker build -f Dockerfile -t name:tag .  # 注意末尾这个点表示当前目录别忘了
  • -f指定Dockerfile文件,默认文件名就是Dockerfile,可以不写
  • -t指定构建的镜像名和标签,不写tag(即-t name)则默认为name:latest,tag是版本,name是镜像名
  • 后面的.代表当前目录,意思是把当前目录上传到docker服务去构建。

启动容器

$ docker run -d --restart=always -p 80:80 -v ~/config:/app/config --name container image-name
  • -d 表示后台运行
  • --restart=always 表示自动重启(开机、出错容器退出等情况)
  • -p 是将本地端口映射到内部端口,这样相当于把本地端口和内部端口连通了
  • -v 是将本地文件(夹)映射到容器中,实现持久化存储,注意必须为绝对路径,因为相对路径是相对于docker容器管理那边的路径的,且这里是不允许有./之类的(可以有~来表示家目录)
  • --name 是容器名(run就是对镜像实例化创建一个容器,--name就是用来管理容器的名字)
  • image-name 镜像的名字要放到最后

PS:如果要交互式与容器操作,需要添加使用-it参数

常用docker命令

注意镜像和容器是两个东西,类似类和对象的关系

$ docker images			# 列出所有镜像
$ docker ps				# 查看正在运行的容器
$ docker ps -a			# 查看所有的容器(容器stop后依然存在,并没有删除)

$ docker run ...		# 运行容器,见上
$ docker stop container	# 停止容器,可以使用容器名或者id前3位,可用ps查看
$ docker rm container	# 删除容器,可以使用容器名或者id前3位,可用ps查看

$ docker rmi image-id	# 删除镜像,注意要删除完所有它的容器后才能删除镜像,可用images查看它的id前三位
$ docker system prune	# 清理缓存,删除无用数据(包括已停止的容器,未使用的镜像等)

$ docker inspect container	# 查看容器的详细信息(可以来看看mount挂载对没对)
$ docker logs container	# 查看容器输出,可以使用容器名或者id前3位

标签:容器,name,--,简单,镜像,docker,Dockerfile
From: https://www.cnblogs.com/faf4r/p/17840819.html

相关文章

  • Docker部署home-page | 一个极简导航页
    一、介绍一款极简且功能足够你使用的个人导航网页二、搭建home-page绿联DX4600为例,首先我们打开Docker管理器,进入镜像管理,然后在镜像仓库中搜索kahosan/home-page​,选择latest​版本并下载。​​下载完成后,我们在本地镜像中找到刚刚下载的镜像,点击创建容器,起一个英文......
  • Docker部署home-page | 一个极简导航页
    一、介绍一款极简且功能足够你使用的个人导航网页二、搭建home-page绿联DX4600为例,首先我们打开Docker管理器,进入镜像管理,然后在镜像仓库中搜索kahosan/home-page​,选择latest​版本并下载。​​下载完成后,我们在本地镜像中找到刚刚下载的镜像,点击创建容器,起一个英文......
  • Windows7使用docker
    Windows7使用docker注:win10可以下载桌面版,详情看官网1、安装win7需要dockertoolbox进行安装,但官网以前有,现在没了,所以要去菜鸟教程给的地址下载:[阿里镜像](Indexof/docker-toolbox/windows/docker-toolbox/(aliyun.com))下载后直接安装,selectcomponents最好勾上没有的安......
  • 简单的用Python实现一下JS逆向解密,采集空气质量数据
    最近天气降温厉害,咱们用Python来分析一下空气质量如何~话不多说,我们直接开始上手。环境以及模块环境使用Python3.8Pycharmnodejs模块使用importrequestsimportexecjsimportjsonrequests和execjs都是第三方模块,需要手动安装,直接pipinstall......
  • 一个简单案例的Vue2.0源码
    本文学习vue2.0源码,主要从newVue()时发生了什么和页面的响应式更新2个维度了解Vue.js的原理。以一个简单的vue代码为例,介绍了这个代码编译运行的流程,在流程中原始DOM的信息会被解析转换,存在不同的对象中。其中关键的对象有el、template、ast、code、render、renderfunction和vno......
  • junit简单使用(入门)
    @目录......
  • 北京外国语大学YUM源配置,安装常用命令和docker-ce
    #配置centos7相关yum源sed-e's|^mirrorlist=|#mirrorlist=|g'\-e's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.bfsu.edu.cn/centos|g'\-i.bak\/etc/yum.repos.d/CentOS-*.repo#安装epelyuminstall......
  • arch linux安装并简单配置zsh
    1.安装zshsudopacman-Szsh2.设置默认zsh列出所有已安装shellchsh-l要为您的用户设置一个默认值chsh-s/full/path/to/shell例如chsh-l/usr/bin/bash3.注销并再次登录,打开shell这时会看到zsh,并新手任务如下ThisistheZShellconfigurationfunctionf......
  • 在Linux上设置MySQL的简单密码
    在Linux上更改MySQL的密码导航目录在Linux上更改MySQL的密码导航1、先查看之前生成的随机密码2、输入密码加入数据库3、先设置一个符合密码验证难度比较大的密码3.1一开始尝试了简单的不行3.2选择难度大的成功了4、把限制密码位数设小一点,复杂度类型调底一点4.1将密码复杂度校验......
  • docker 部署nginx
     docker部署Nginx一、先启动一次,把配置文件copy出来 #创建并运行容器,容器命名为nginx dockerrun--namenginx-p80:80-dnginx#创建目录存放mkdir /usr/local/docker-nginx#从容器中copy配置 dockercpnginx:/etc/nginx/nginx.conf/usr/local/docker-nginx......