常用命令

镜像相关
1 2 3 4 5 6 7 8 9 10
| # 相关镜像 docker images #查看本地所有镜像 docker image ... # 镜像相关 docker image list #查看本地所有镜像 docker search ubuntu # 搜索 docker pull ubuntu # 拉取镜像 docker rmi #移除镜像
|
容器相关
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
# 创建容器 # -i交互式 # -t打开终端(exit退出) # -d后台运行 # -v映射文件夹 # -P 将容器内部使用的网络端口随机映射到我们使用的主机上。 # -p 将容器的端口指定映射到主机上 docker run -itd ubuntu /bin/bash docker run -itd --name ubuntu-test ubuntu /bin/bash # --name指定容器名称 docker run -d -P training/webapp python app.py # -P 随机映射容器端口到主机端口 python app.py 是运行命令 docker run -d -p 5000:5000 training/webapp python app.py # -p 指定端口映射 # 在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过attach或exec进入 docker attach <id_or_name> # 退出时容器会停止 docker exec -it <id_or_name> /bin/bash #退出时容器不会停止 加 -it 才能交互式, /bin/bash 是执行的类型
# 容器相关命令 docker ps # 查看运行的容器 docker ps -a # 查看所有 -l查看最近一次启动的容器 docker stop <id_or_name> # 停止容器<容器id或名称> docker start <id_or_name> # 启动已经停止的容器 docker container ... # 容器相关 docker container list # 等同于 docker ps docker container prune # 清理所有终止的容器 docker container restart # 重启
# 导入导出容器 docker export 1e560fca3906 > ubuntu.tar # 导出容器成ubuntu.tar cat docker/ubuntu.tar | docker import - test/ubuntu:v1
#移除容器 -f 强制 docker rm -f <id_or_name>
|
其它命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| # 其它 docker stats # 查看状态 类似于top docker logs -f <id_or_name> # 查询日志,类比 tail -f docker inspect <id_or_name> # 查看容器docker底层信息 # 镜像提交 # 提交之前在容器中运行 apt-get update # -m: 提交的描述信息 # -a: 指定镜像作者 # id:容器 ID # runoob/ubuntu:v2: 指定要创建的目标镜像名 docker build #构建镜像,需要指定Dockerfile docker commit -m="image description" -a="author" id runoob/ubuntu:v2 docker push repository # docker images 下自己的镜像路径 docker login docker logout
|
构建docker镜像
我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
先创建Dockerfile文件
1 2 3 4 5 6 7 8 9 10
| FROM centos:6.7 MAINTAINER Fisher "fisher@sudops.com"
RUN /bin/echo 'root:123456' |chpasswd RUN useradd runoob RUN /bin/echo 'runoob:123456' |chpasswd RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local EXPOSE 22 EXPOSE 80 CMD /usr/sbin/sshd -D
|
- FROM,指定使用哪个镜像源
- MAINTAINER 维护人员
- RUN 运行的命令
- EXPOSE ?
- CMD ?
运行构建
docker build -t kewen/centos1 .
-t
:指定要创建的目标镜像名
.
:代表Dockerfile的文件路径在当前目录
这里会下载centos并构建

构建完成之后使用docker images
便可以看到镜像了

可以使用docker tag e4412e27253f kewen1/centostag:dev
创建标签,不创建标签为latest

创建之后一个镜像则有多个版本