docker for mac 学习记录
docker基本命令
docker run -d -p 80:80 --name webserver nginx 运行容器并起别名
docker ps 展示目前启动的容器
docker ps -a 展示所有容器
docker start 启动容器
docker stop 停止容器
docker rm -f webservr 停止并删除容器,但不会删除镜像
docker images 显示本地拥有的镜像
docker rmi nginx 删除本地images
创建自己的docker镜像
编辑Dockerfile文件,填入以下内容:
FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsay
运行以下命令创建名为docker-whale的镜像:
docker build -t docker-whale .
- -t: 给tag命令
- .: Dockerfile文件所在路径
docker tag push pull
docker tag 8e15421920b1 xulingfeng/docker-whale:latest
上传操作
docker push xulingfeng/docker-whale
下载操作
docker pull centos
交互式的操作
docker run -t -i ubuntu /bin/bash
- -t 分配了一个终端在新的容器中
- -i 允许你和容器进行交互操作
- /bin/bash 启动容器中的Bash shell
docker的守护状态,也就是后台运行
docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
- docker run 运行容器
- -d 让容器在后台运行
- ubuntu 你希望运行容器的镜像
查看docker容器运行日志
docker logs -f 容器名
- -f 类似与 tail -f
使用docker运行web应用
docker run -d -P training/webapp python app.py
- -d:代表后台运行该容器
- -P:映射容器中的web应用端口号到你的主机上32768-61000中的某一个端口。这样你可以访问该容器中的web应用
- training/webapp: 一个已经构建好的镜像,包含一个简单的python flask框架web应用
- python app.py:这个命令用来启动容器中的web
成功运行以上命令后,运行:
docker ps
查看到容器的5000端口号映射到了本地的32768,浏览器访问http://127.0.0.1:32768 看到helloworld 成功提示
自定义主机端口号
docker run -d -p 80:5000 training/webapp python app.py
- -p 80:5000 将本机的80端口绑定容器内的5000端口,本地直接访问 http://127.0.0.1 即可
查看容器的进程
docker top 容器名
检查容器的状态信息
docker inspect 容器名
镜像搜索
docker search 内容
创建一个给pycharm开发用的镜像,包含python3,Django, Flask, requests, PyMySQL, ldap3, jira,celery, simplejson
centos镜像,分解步骤如下
首先添加额外源
yum install -y epel-release
安装编译环境
yum install -y gcc automake autoconf libtool make gcc-c++
安装wget命令
yum install -y wget
安装openssl-devel python的pip命令依赖
yum install -y openssl-devel
下载python3.5.2最新包
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz -P /software/
解压python3.5.2压缩包并编译安装
tar -zxvf /software/Python-3.5.2.tgz -C /software/
./configure && make -j2&& make install -j2
更新pip
pip install --upgrade pip
pip install --upgrade setuptools
安装所需的第三方包
pip install Django Flask requests PyMySQL ldap3 jira celery simplejson
通过Dockerfile构建镜像
Dockerfile:
FROM centos:latest
RUN yum install -y epel-release
RUN yum install -y gcc automake autoconf libtool make gcc-c++
RUN yum install -y wget
RUN yum install -y openssl-devel
RUN wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz -P /software/
RUN tar -zxvf /software/Python-3.5.2.tgz -C /software/
RUN cd /software/Python-3.5.2/ && ./configure python3 && make -j2&& make install -j2
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
RUN pip install Django Flask requests PyMySQL ldap3 jira celery simplejson
在Dockerfile目录中执行:
docker build -t 名字:版本 .
兼容docker for mac 和 pycharm
brew install socat
socat TCP-LISTEN:2376,reuseaddr,fork,bind=127.0.0.1 UNIX-CLIENT:/var/run/docker.sock
docker for mac 学习记录的更多相关文章
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- 【Android】学习记录<1> -- 初识ffmpeg
工作需要用到ffmpeg来进行Android的软编码,对这玩意儿一点都不了解,做个学习记录先. FFmpeg:http://www.ffmpeg.org Fmpeg is the leading mu ...
- docker on Mac
贡献一篇: 云主机可以选择操作系统镜像快速创建主机,这比虚拟机更便捷了,我们本地也可以这么做了,因为有了 Docker 这个东西.它依赖于 LXC(Linux Container),能从网络上获得配置 ...
- java后端学习记录2019
学习计划 2019年计划 1.学习计算机基础,并加以实践.包括LeetCode刷题.数据库原理(索引和锁.Sql优化等).网络协议(Http.Tcp).操作系统(加深Linux).<Http权威 ...
- Docker虚拟化实战学习——基础篇(转)
Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...
- ASP.NETCore学习记录(一)
ASP.NETCore学习记录(一) asp.net core介绍 Startup.cs ConfigureServices Configure 0. ASP.NETCore 介绍 ASP.N ...
- 区块链Hyperledger Fabric 学习记录(一)开发环境搭建(ubuntu16.04/ubuntu18.04)
目录 Fabric开发环境搭建 更新说明 教程环境及软件版本 Docker 安装Docker 配置用户组 配置Aliyun Docker加速器 安装docker-compose Go 下载源码 安装源 ...
- Python全栈工程师系列学习之学习记录
@ 目录 前言 Day 01 一.python的历史和种类 二.安装python解释器以及配置环境变量 三.变量.常量和注释 Day 02 Day 03 Day 04 Day 05 Day 06 一. ...
- Java 8 学习记录
Java 8 学习记录 官方文档 https://docs.oracle.com/javase/8/ https://docs.oracle.com/javase/8/docs/index.html ...
随机推荐
- 在PowerShell中使用curl(Invoke-WebRequest)
前言 习惯了windows的界面模式就很难转去命令行,甚至以命令行发家的git也涌现出各种界面tool.然而命令行真的会比界面快的多,如果你是一个码农. situation:接到需求分析bug,需要访 ...
- Java数据库连接技术——JDBC
大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...
- Asp.Net MVC中使用StreamReader读取“Post body”之应用场景。
场景:有三个市场(Global.China.USA),对前台传过来的数据有些验证需要细化到每个市场去完成. 所以就出现了基类(Global)和派生类(China.USA) 定义基类(Global)Pe ...
- android键盘
在应用的开发过程中有不少的情况下会用到自定义键盘,例如支付宝的支付密码的输入,以及类似的场景.android系统给开发者们提供了系统键盘,KeyboardView,其实并不复杂,只是有些开发者不知道罢 ...
- 开始学nodejs——net模块
net模块的组成部分 详见 http://nodejs.cn/api/net.html 下面整理出了整个net模块的知识结构,和各个事件.方法.属性的用法 net.Server类 net.Socket ...
- 算法与数据结构(十五) 归并排序(Swift 3.0版)
上篇博客我们主要聊了堆排序的相关内容,本篇博客,我们就来聊一下归并排序的相关内容.归并排序主要用了分治法的思想,在归并排序中,将我们需要排序的数组进行拆分,将其拆分的足够小.当拆分的数组中只有一个元素 ...
- geotrellis使用(二十八)栅格数据色彩渲染(多波段真彩色)
目录 前言 实现过程 总结 一.前言 上一篇文章介绍了如何使用Geotrellis渲染单波段的栅格数据,已然很是头疼,这几天不懈努力之后工作又进了一步,整清楚了如何使用Geotrelli ...
- 2Sum
用哈希表(unordered_map)使得时间复杂度从O(n*n)降到O(n),空间复杂度从O(1)增到O(n):一边找一边插入哈希表 注意 在C++11以前要使用unordered_map需要 #i ...
- C#使用GET、POST请求获取结果
C#使用GET.POST请求获取结果,这里以一个简单的用户登陆为例. 1. 使用GET请求获取结果 1.1 创建LoginHandler.aspx处理页面 protected void Page_Lo ...
- 从史上八大MySQL事故中学到的经验
本文列举了史上八大MySQL宕机事件原因.影响以及人们从中学到的经验,文中用地震级数来类比宕机事件的严重性和后果,排在最严重层级前两位的是由于亚马逊AWS宕机故障(相当于地震十级和九级). 一.Per ...