docker run
$ sudo docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]
docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。
正确的命令:
$ docker run learn/tutorial echo "hello word"
- -d:containter将会运行在后台模式
- –name:给container命名,对于一个container来说有个name会非常方便,因为你可以当你需要link其它容器时或者其他类似需要区分其它容器时,使用容器名称会简化操作
- -P:container会开放部分端口到host,只要对方可以连接到host,就可以连接到container内部。当使用-P时,docker会查找一个未被占用的端口绑定到container。你可以使用docker port来查找这个随机绑定端口
docker run --name mongo_001 -d -P mongo
Dockerfile语法
VOLUME [“mountpoint”] 将本地文件夹或者其他container的文件夹挂载到container中
# Define mountable directories.
VOLUME ["/data/db"]
WORKDIR /path/to/workdir 切换目录用,可以多次切换(相当于cd命令)
# Define working directory.
WORKDIR /data
CMD [“executable”,”param1”,”param2”] container启动时执行的命令,但是一个Dockerfile中只能有一条CMD命令,多条则只执行最后一条CMD
# Define default command.
CMD ["mongod"]
EXPOSE port 把这个端口暴露在外,这样容器外可以看到这个端口并与其通信
# Expose ports.
# - 27017: process
# - 28017: http
EXPOSE 27017
EXPOSE 28017
ENV key value 设置环境变量
ENV APP_NAME app.js
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-22 03:42:52