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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM