1. 程式人生 > >Docker基本使用命令

Docker基本使用命令

RF ber TE 綁定 名稱 AR -i container 修改

Docker基本使用命令

首先要在宿主機上安裝Docker,Docker安裝參考
Docker學習(二)—–Docker安裝和使用
Docker命令也比較類似Git,支持push以及pull操作上傳以及下載Docker鏡像。

查看當前Docker的版本

docker version
  • 1

查看當前系統Docker信息

docker info
  • 1

查看宿主機上的鏡像

Docker鏡像保存在/var/lib/docker目錄下:

docker images
  • 1

從Docker hub上下載某個鏡像:

docker pull ubuntu:latest
  • 1

執行docker pull ubuntu會將Ubuntu這個倉庫下面的所有鏡像下載到本地repository。

啟動一個容器使用docker run:

#啟動一個容器
docker run -i -t ubuntu /bin/bash       

#容器退出後立即刪除該容器使用--rm
docker run -i -t --rm ubuntu /bin/bash             

#指定容器的名稱使用--name,否則會隨機分配一個名稱
docker run -t -i --name test_container ubuntu /bin/bash

#容器以Host方式進行網絡通信使用--net=host
docker run -t -i --net=host ubuntu /bin/bash   

#綁定掛在一個Volume,在宿主機和Docker容器中共享文件或目錄使用-v
docker run -t -i -v /host:/container ubuntu /bin/bash   

查看當前有哪些容器正在運行

使用

docker ps

輸出如下:

zzq@host:~(0)$ docker ps
CONTAINER ID     IMAGE                COMMAND        CREATED         STATUS          PORTS    NAMES
50a1261f7a8b     docker_test:latest   "/bin/bash"    7 seconds ago   Up 6 seconds             test_container
#目前只有一個container id為50a1261f7a8b的容器正在運行

啟動或停止某個container

使用

docker start/stop container_id:
  • 1

輸出如下:

zzq@host:~(0)$ docker stop 50a1261f7a8b
50a1261f7a8b

zzq@host:~(0)$ docker ps -a | grep 50a1261f7a8b
50a1261f7a8b   docker_test:latest   "/bin/bash"   2 minutes ago   Exited (0) 14 seconds ago   sleepy_ptolemy
#執行docker stop後,該容器的狀態變更為Exite

保留container的修改作為一個新的鏡像

使用

docker commit
  • 1

比如:
使用命令

docker commit -m="test docker commit" 50a1261f7a8b docker_test
  • 1

-m是提交的信息
50a1261f7a8b是需要保留修改容器的id
docker_test是容器的名稱
輸出如下:

zzq@host:~(0)$ docker commit -m="test docker commit" 50a1261f7a8b docker_test
55831c956ebf46a1f9036504abb1b29d7e12166f18f779cccce66f5dc85de38e

zzq@host:~(0)$ docker images www.yongshiyule178.com| www.douniu1956.com grep docker_test
docker_test                            latest              55831c956ebf        10 seconds ago      290.7 MB

Dockerfile創建一個鏡像

除了從Docker hub上下載鏡像,也可以寫Dockerfile創建一個鏡像,以創建一個Django程序為例,Dockerfile內容如下所示:

FROM ubuntu:12.04
MAINTAINER Your Name

RUN apt-get update
RUN apt-get install -y python-software-properties python-pip

ADD myproject /opt/code

RUN pip install -r www.078881.cn  /www.yigouyule2.cn opt/code/requirement.txt

寫完Dockerfile,在Dockerfile所在目錄執行docker build創建鏡像並啟動Django服務:

docker build -t docker_test .
docker run -i -t docker_test /bin/bash -c "cd /opt/code;python manage.py runserver 0.0.0.0:8080"
  • 1
  • 2

將制作的鏡像上傳到private registry

test是鏡像版本,不指定則為latest。
docker.example.com是倉庫的地址
test是遠程倉庫的目錄
使用命令

docker tag test docker.example.com/test
docker push www.leyouzaixian2.com  docker.example.com/test
  • 1
  • 2

刪除鏡像

經過長時間使用,主機上存儲了很多已無用的鏡像,想將它們刪除則用docker rm或者docker rmi,比如:

docker rm container_id
docker rmi image_id

Docker基本使用命令