首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

docker常用命令

docker常用命令

查看当前Docker的版本

docker version


查看当前系统Docker信息

docker info


查看宿主机上的镜像

Docker镜像保存在/var/lib/docker目录下:

docker images


从Docker hub上下载某个镜像:

docker pull ubuntu:latest


执行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:


输出如下:

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后,该容器的状态变更为Exited



保留container的修改作为一个新的镜像

使用

docker commit

比如:
使用命令

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


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

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

zzq@host:~(0)$ docker images | 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 /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"



将制作的镜像上传到private registry

test是镜像版本,不指定则为latest。
docker.example.com是仓库的地址
test是远程仓库的目录
使用命令

docker tag test docker.example.com/test
docker push docker.example.com/test



删除镜像

经过长时间使用,主机上存储了很多已无用的镜像,想将它们删除则用docker rm或者docker rmi,比如:

docker rm container_id
docker rmi image_id
返回列表