阮一峰的docker入门

假设容器名称是esp, 镜像地址是hubertxxu/esp8266_build:0.1, 要挂载的windows目录是path/to/host/folder, 挂载到docker容器中的目录是/path/to/container/folder

# 从镜像创建容器并运行
docker run --name esp -dt hubertxxu/esp8266_build:0.1

# 从镜像创建容器并运行, 同时挂载windows目录
docker run --name esp -v path/to/host/folder:/path/to/container/folder -dt hubertxxu/esp8266_build:0.1

# 将当前目录挂载为容器目录, 如果有同名容器则先删除再建立
docker run --rm --name %proj_name% -v %cd%:/home/%proj_name% -dt hubertxxu/esp8266_build:0.1

# 运行已经存在的容器
docker start esp

# 运行一个容器中的命令, 如果运行的是bash就相当于进入了容器环境
docker exec -it esp bash

docker还有个attach命令, 如docker attach esp, 实际上attach的是docker刚运行的时候建立的终端, 且只能看输出而不能操作.

容器创建后还能再挂载目录吗?

从官方的资料来看是不行了, 在油管上有个视频指导如何在容器创建后挂载目录, host系统是linux, 需要修改hostconfig.jsonconfig.v2.json这两个文件, 可惜的是这两个文件在windows上都找不到.

如何从容器创建镜像并且push到docker hub中?

  • web登录hub.docker.com, 创建一个repository
  • 进入本机命令行, 从容器(如esp)创建本地镜像(如bl2028n_buildenv, tag是v0.0.1) docker commit esp bl2028n_buildenv:v0.0.1
  • 登录docker docker login
  • 在docker desktop中复制镜像的很长很长的ID, 打上远端tag docker tag 508e21e71xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx darceye/bl2028n_buildenv:v0.0.1
  • push到云端 docker push darceye/bl2028n_buildenv:v0.0.1
    参考:https://blog.csdn.net/qq_36801250/article/details/106208755

标签: none 阅读量: 1341

添加新评论