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

使用

  1. 在启动容器时,可以通过--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 容器里面