Docker命令大全
构建
根据当前目录中的dockerfile构建镜像
docker build -t <镜像名称>.
运行
使用 指定镜像 以 交互模式 运行容器,并监听服务端口开放外部(直接执行镜像startup CMD)
docker run -it -p <对外端口>:<服务端口> <镜像名称>
使用 指定镜像 以 交互模式 运行容器,并监听服务端口开放外部(直接执行镜像startup CMD),并按照 容器名称docker run -it --name <容器名称> -p <对外端口>:<服务端口> <镜像名称>
使用 指定镜像 以 交互模式 运行容器,并监听服务端口开放外部(不执行startup,开启终端)
docker run -it -p <对外端口>:<服务端口> <镜像名称> /bin/bash
映射目录
使用 指定镜像 以 交互模式 运行容器,并将本机文件映射到容器内部(不执行startup,开启终端)
docker run -it -v <本机文件地址>:<容器内部地址> <镜像名称> /bin/bash
指定网络
使用 指定镜像 以 交互模式 运行容器,并使用本机网络
docker run -it --network=host <镜像名称>
启动
如果已经有容器实例,可以直接启动(直接执行镜像startup CMD)
docker start <容器名称>
进入
容器运行过程中,开启一个终端
docker exec -it <容器名称> /bin/bash
执行脚本
容器运行过程中,执行容器内 /root/test.sh 脚本
docker exec -it <容器名称> /bin/sh /root/test.sh
使用.env文件
创建.env文件
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password
使用
在启动容器时,可以通过
--env-file
参数指定.env
文件的路径,让容器可以读取其中定义的环境变量,例如:
docker run --env-file=.env my_image
docker-compose注意事项
1. 不要把 docker 当做数据容器来使用,数据一定要用 volumes 放在容器外面
2. 不要把 docker-compose 文件暴露给别人, 因为上面有你的服务器信息
3. 多用 docker-compose 的命令去操作, 不要用 docker 手动命令&docker-compose 去同时操作
4. 写一个脚本类的东西,自动备份docker 映射出来的数据。
5. 不要把所有服务都放在一个 docker 容器里面