docker容器使用(1)

几个简单的参数

查看全部的容器

 docker ps -a

-d 以分离模式运行/在后台运行

-i以交互模式运行

-t在终端运行

-p --publish 端口映射-p表示把指定的端口映射到宿主机指定的端口上

-P 是否把所有容器暴露的端口都映射到宿主机的所有端口,True是表示是,False时表示只映射指定的端口

--name给容器命名

使用命令:

docker run [选项] --name test [镜像名] [命令]

Docker start [容器名称或者ID]开启容器

Docker restart [容器名称或者ID]重启容器

docker stop [容器名称或者ID]关闭容器

Tips:

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

Docker attach [容器名称或者ID]

Docker exec [容器名称或者ID]

两者的差距exit退出的时候attach会退出容器并停止容器,而exec退出容器的时候只会退出容器并不会停止容器。

查看所有的镜像

docker images

--tag 给镜像的标识

docker search [你需要的镜像名]在docker hub中查询镜像

docker pull [你需要的镜像名]在docker hub中拉取镜像

docker rmi [你想删除的镜像名]删除没用的镜像

利用容器更新镜像

首先我们需要有一个ubuntu的镜像创建的容器并且我们在上面做出了我们的修改

docker commit -m="描述信息" -a="作者" [容器id] my_image-ubuntu:v2.0

利用源代码构建我们自己的镜像

创建一个dockerfile(简单django项目)

FROM python:3.9.0#父镜像(基于python3.9)
LABEL authors="cangxueqifeng"#作者
WORKDIR /mysite/#项目的工作目录
ENV *DB_NAME*=yourdatabasename#使用的数据库名
ENV *DB_USER*=yourdatabaseuser#使用的数据库用户名
ENV *DB_PASSWORD*=yourdatabasepassword#使用的数据库的密码
ENV *DB_HOST*=host.docker.internal#给这个数据库服务命名
ENV *DB_PORT*=3306#指定数据库的端口
#COPY pip.conf /root/.pip/pip.conf#使用指定的pip镜像源
COPY requirements.txt requirement.txt#将源代码的requirements复制到容器中
COPY . .#将源代码复制到项目容器中 .指的是dockrefile文件所在的目录
RUN pip install --upgrade pip#效果等同于在docker的命令行输入pip install --upgrade pip更新pip版本
RUN pip install -r requirements.txt#下载requirements中的包
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#更改docker中的时区以匹配django中的时区
CMD ["python", "manage.py", "runserver","0.0.0.0:8000"]#运行django项目

使用build命令创建

docker build -t myapp .

创建完毕后

利用run命令创建容器

docker run -p 8000:8000 --name myapp-container myapp

Tips

1.-p默认绑定tcp端口若要使用udp端口

docker run -p 8000:8000/udp --name myapp-container myapp

2.还可以绑定ip地址如:

docker run -p 127.0.0.1:8000:8000 --name myapp-container myapp

并且可以使用

docker port [容器名称] [端口号]

前提是在容器运行的状态下并且此处加了端口号就是对应的映射关系,没有加端口号就是关于这个容器的所有映射关系

此时就可以看到我们的容器并可以宿主机在8000端口访问

这个时候可以用docker tag my-apptest1 myapp1.0给我们的镜像配一个标签用于辨别

至此简单的容器使用已经结束了

docker容器使用(1)的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. Docker容器环境下ASP.NET Core Web API应用程序的调试

    本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在 ...

  3. 在docker容器中vi指令找不到

    在使用docker容器时,有时候里边没有安装vi,敲vi命令时提示说:vi: command not found,这个时候就需要安装vi,可是当你敲apt-get install vi命令时,提示: ...

  4. 理解Docker(4):Docker 容器使用 cgroups 限制资源使用

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  5. docker学习(5) 在mac中创建mysql docker容器

    github上有一个专门的docker-libary项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中mysql镜像的用法,国内镜像daocloud.io也能找到mysql ...

  6. 在Linux和Windows的Docker容器中运行ASP.NET Core

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...

  7. 自定义Docker容器的 hostname

    自定义Docker容器的 hostname   作者: John Deng 原创内容,欢迎传播,请注明出处:http://www.cnblogs.com/johnd/p/set-docker-host ...

  8. Docker容器是否可以改变世界?

    Docker容器是否可以改变世界? 2016-01-15 杜亦舒 2016年了,很多大牛开始预测技术趋势,其中一个普遍的观点我也很认同: Docker会更加流行,会改变程序世界 2015年的上半年我接 ...

  9. 搭建ubuntu14.04的hadoop集群【docker容器充当服务器】

    首先弄出来装有hadoop.java.ssh.vim的镜像起名badboyf/hadoop.做镜像有两种方法,一种是用Dockerfile来生成一个镜像,一种是基于ubuntu14.04的基础镜像生成 ...

  10. 在docker容器中安装和使用,linux版的powershell

    powershell 传教士 原创文章.始于 2016-09-18 ,2016-10-27修改powershell docker官网.允许转载,但必须保留名字和出处,否则追究法律责任 1 在任意版本的 ...

随机推荐

  1. Github账户的注册

    注册步骤 首先进入github官网界面(注意,只能用Chrome或者Firefox浏览器.这样保险性更强一些) 官网地址:https://github.com/ 映入眼帘的界面是这样的: 点击右上角的 ...

  2. Linux & 标准C语言学习 <DAY12_1>

          10.函数指针         函数名就是一个地址(整数),代表了该函数在代码段中的位置         函数指针就是专门指向某种函数的指针,它里面存储的是该函数在代码段中的位置(函数名) ...

  3. 如何使用Mutex确保并发程序的正确性

    1. 简介 本文的主要内容是介绍Go中Mutex并发原语.包含Mutex的基本使用,使用的注意事项以及一些实践建议. 2. 基本使用 2.1 基本定义 Mutex是Go语言中的一种同步原语,全称为Mu ...

  4. FastCorrect:语音识别快速纠错模型丨RTC Dev Meetup

    前言 「语音处理」是实时互动领域中非常重要的一个场景,在声网发起的「RTC Dev Meetup丨语音处理在实时互动领域的技术实践和应用」活动中,来自百度.寰宇科技和依图的技术专家,围绕该话题进行了相 ...

  5. springboot--yaml数据读取的三种方式

    结果:

  6. Prometheus Operator 与 kube-prometheus 之一-简介

    简介 Prometheus Operator Prometheus Operator: 在 Kubernetes 上管理 Prometheus 集群.该项目的目的是简化和自动化基于 Prometheu ...

  7. 教你如何用纯css代码实现太极阴阳鱼动画效果

    今天看到一个有意思的效果,闲来无事做一个: 把2d静态的太极图改成了3d,阴极和阳极分到了两个平面里实现旋转效果,这个好实现,重点是实现它的透明效果,平面太极图显示出两极是用另加的块元素挡住底面的颜色 ...

  8. 2020中国最好大学排名.py(亲测有效)

    import requests from bs4 import BeautifulSoup import bs4 def getHTMLText(url): try: r = requests.get ...

  9. 记一次 .NET 某设备监控系统 死锁分析

    一:背景 1. 讲故事 上周看了一位训练营朋友的dump,据朋友说他的程序卡死了,看完之后发现是一例经典的死锁问题,蛮有意思,这个案例算是学习 .NET高级调试 入门级的案例,这里和大家分享一下. 二 ...

  10. python入门教程之九日期时间常用操作

    Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示. Py ...