运行一个新的container并调用打印命令
docker run
Ubuntu:15.10 /bin/
echo "Hello world"
运行一个交互式的container(容器)
docker run -it ubuntu:
15.
10 /bin/bash
可以发现已经进入到容器当中,退出使用
exit或
ctl+d从远程docker hub拉取一个镜像
在后台运行一个新的container
docker run -P --name
test1
-d training/webapp
Python app.py
查看当前运行容器详情
docker ps
查看容器端口
docker port containername
<containerid>
可以看到容器test1的端口映射到了本机的32768,可以访问本机ip的32768端口来查看
查看容器日志
docker logs containername
<containerid>
停止指定容器
docker stop containername
<containerid>
再次运行该容器就可以使用
docker start containername
<containerid>
查看指定容器内部运行进程
docker top containername
<containerid>
查看历史启动的容器
docker ps
-a
删除容器,容器必须处于停止状态
docker rm containername
<containerid>
其它命令为镜像添加新的标签
docker tag
查询容器ip
docker inspect containername
<containerid>
提交容器副本
docker
commit [-m -a]
container-
id image-
name
-m:提交的描述信息
-a:指定镜像作者
container-
id:容器
ID
image-
name:你要命名的镜像名
先写这么多,后续补充
补充:
前边有提到可以将自己的本地镜像上传到docker hub上,那么如何生成自己的镜像呢?docker提供一种docker file的方式来生成本地镜像,你也可以通过docker file的方式把你的项目打包成镜像来使用。
四、Dockerfile部分命令
首先,每个指令的前缀必须大写
FROM 指定基础镜像,后可跟镜像名字或镜像
id
例:
FROM centos:6.0
MAINTAINER 作者 指定作者
例:MAINTAINER root
ADD 把文件复制到到容器的指定目录,如果是tar包会自动解压,后可跟本地文件或url,如果是url,功能类似于wget
例:ADD nginx-1.9.3.tar.gz /usr/
local
RUN 告诉docker要在镜像内执行的命令,后可跟shell命令或普通命令
例:1.RUN useradd
test 2.RUN /bin/
echo "hello test"
CMD 容器启动时要运行的命令
例:
1.CMD [
"nginx"]
2.CMD [
"service MySQLd start"]
RUN &
CMD 区别:
RUN是构建容器时就运行的命令以及提交运行结果,即执行 docker build时运行,一个dockerfile可以有多个
CMD是容器启动时执行的命令,即执行 docker run时运行,一个dockerfile只有
1个
LABEL为镜像指定标签
例:LABEL version=
"1.0"
EXPOSE 将容器的监听端口暴露给外部,这样才能使主机和container建立映射,即在dokcer run使指定-p端口映射
关系
例:EXPOSE
80
ENV 设置环境变量
例:ENV PATH /usr/
local/nginx/sbin:
$PATH
VOLUME 可实现挂载功能,可以将内地文件夹或者其他容器中的文件夹挂在到这个容器中,容器使用的是AUFS,
这种文件系统不能持久化数据,当容器关闭后,所有的更改都会丢失。所以当数据需要持久化时用这个命令。
例:VOLUME /usr/
local/nginx/conf/nginx.conf /etc/nginx/nginx.conf
将主机上的/usr/
local/nginx/conf/nginx.conf文件挂在到容器的/etc/nginx/nginx.conf文件
copy 与add��似,区别为
copy后只能跟本地目录
workdir 设置工作目录,类似于linux的
cd命令
user 设置启动容器的用户 1
.USER daemon 2
.USER UID
stopsignal 当容器退出时给系统发送什么样的指令