博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux-----docker
阅读量:5242 次
发布时间:2019-06-14

本文共 3097 字,大约阅读时间需要 10 分钟。

docker简介

 
 
 
Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。

docker的三大概念

  镜像:我们可以理解为系统盘的dvd镜像,轻量级的镜像文件

  仓库:存储docker镜像

  容器:是基于镜像运行的,容器实例

docker的安装

1.安装docker

  yum install docker -y 

2.启动docker

  systemctl  start docker

3.docker加速器下载,以及配置 

  curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io   会生成一个docker配置文件,路径是/etc/docker/daemon.json

4.配置了docker加速器,需要重启docker

  systemctl restart docker

docker基本命令

  增:

    docker pull 镜像名字   #下载镜像

    docker run 镜像名字  #运行镜像,产生容易实例

    docker run -it 镜像名字 /bin/bash  参数解释: -i 交互式的命令操作 - t 开启一个终端提供访问  /bin/bash  指定shell解释器

    docker run -it --rm 94e /bin/bash      --rm  运行容器,退出后,删除容器记录

    docker run -d centos /bin/sh -c "while true;do echo 好嗨哦,感觉人生到达了巅峰; sleep 1;done"

      -d 后台运行 

      centos  指定镜像文件           /bin/sh    指定shell解释器           -C 指定一个shell语句

  删:

   docker rm 容器id

   docker rm `docker ps -aq`   批量删除容器记录

   docker rm -f `docker ps -aq` 强制删除所有的容器记录

   docker rmi 镜像id   删除镜像记录

   docker  rmi `docker images -aq` 批量删除镜像文件

  改:

   docker tag 镜像id 新的名字   修改docker镜像名,tag标记名

   docker run  --name  myredis 94e  /bin/bash

  查:

   docker image ls   查看docker镜像的命令

   docker  images   #等于上述命令,产看镜像

   docker container ls   查看正在运行的容器进程

   docker ps       只能查看正在运行的容器

   docker ps -a  查看所有的容器记录

   docker search centos   查看docker镜像记录

   docker logs  容器id  查看容器空间内的日志

   docker logs -f 不间断的打印容器内日志信息

   docker exec -it 容器id /bin/bash   #进入正在运行的容器空间

  启动和停止

   docker stop 容器id

   docker start 容器id

######注意:docker容器必须有后台程序在运行,否则就退出

学习Dockerfile

#制作base image 基础镜像,尽量使用官方的image作为base imageFROM scratch#使用base imageFROM centos FROM ubuntu:14.04 #带有tag的base image#指定一个基础镜像LABEL version=“1.0” #容器元信息,帮助信息,Metadata,类似于代码注释LABEL maintainer=“yc_uuu@163.com" #对于复杂的RUN命令,避免无用的分层,多条命令用反斜线换行,合成一条命令!RUN yum update && yum install -y vim \    Python-dev #反斜线换行RUN /bin/bash -c "source $HOME/.bashrc;echo $HOME” #run指令是一个万能指令  WORKDIR /root #相当于linux的cd命令,改变目录,尽量使用绝对路径!!!不要用RUN cdWORKDIR /test #如果没有就自动创建WORKDIR demo #再进入demo文件夹#ADD是添加文件,从物理机本地,添加到容器空间内 ADD and COPY ADD hello /  #把本地文件添加到镜像中,吧本地的hello可执行文件拷贝到镜像的/目录ADD test.tar.gz   /tmp    #添加到根目录并解压  #并且ADD指令还有 解压缩的功能  打包一个程序和Dockerfile1.准备一个flask代码文件[root@master mydocker]# cat s17-flask.py  #coding:utf8from flask import Flaskapp=Flask(__name__)@app.route('/')def hello():    return " hello,flask"if __name__=="__main__":    app.run(host='0.0.0.0',port=8080)     2.准备构建dockerfile,用于生成镜像 FROM centos     #指定一个基础镜像 COPY CentOS-Base.repo /etc/yum.repos.d/  #拷贝本地的yum仓库,到容器空间内               COPY epel.repo /etc/yum.repos.d/    #  RUN yum clean allRUN yum install python-setuptools -yRUN easy_install flaskCOPY s17-flask.py /opt/WORKDIR /opt       EXPOSE 8080     #暴露容器的8080端口,供给物理机去映射访问CMD ["python","s17-flask.py"]       #cmd代表执行命令      3.准备 CentOS-Base.repo  epel.repo   4.确保 dockerfiel,flask代码,yum仓库文件,在同一层目录 5.构建镜像docker build .   6.检查docker镜像文件,是否有自己创建的镜像 7.修改镜像的名字 docket tag 镜像名  新的镜像名 8.运行镜像,生成容器实例docker run -p 8080:8080  -d  04b 9.检查docker端口映射状态docker port 容器id 10.访问windows,找到容器内的应用

 

转载于:https://www.cnblogs.com/pythonz/p/10933410.html

你可能感兴趣的文章
Python攻克之路-字典
查看>>
Easyui NumberBox格式化展示
查看>>
转载:ASP.NET Core 在 JSON 文件中配置依赖注入
查看>>
(描述需要改进) Leetcode No.71 **
查看>>
【技巧】添加sublime-text到右键菜单,记录下来,免忘记
查看>>
socket初识
查看>>
绕啊绕的递归函数
查看>>
杭电2016 数据的交换输出
查看>>
vue+sass 下sass不能运行问题
查看>>
struts 的应用
查看>>
磁盘测试工具
查看>>
mysql格式化整数类型时间生成年月日时分秒格式(long或string接收)
查看>>
eclipse查看jdk及maven依赖包源码
查看>>
[HDU]3371 Connect the Cities
查看>>
那些年我们刷过的手机
查看>>
python--数据类型--1
查看>>
在ros中使用rplidar Laser发布scan数据--25
查看>>
Linux网络IO函数以及TCP连接函数包装
查看>>
用Spring Boot去创建web service
查看>>
简单计算器
查看>>