您的位置:首页 > 运维架构 > Docker

docker for mac 学习记录

2017-03-28 19:56 267 查看


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