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.json
和config.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