常用操作笔记
场景1: 当下载了一个镜像,想查看image镜像里面一些信息.
1.拉取一个镜像
$ docker pull php:alpine3.72.想知道镜像里面的php版本
$ docker run -it --rm php:alpine3.7 php -v3.想对这个镜像里信息了解的更多,也就是得执行多条语句
$ docker run -it --rm php:alpine3.7 sh -c "php -v && php -m"4.如果想临时进去操作一下,查看更多的信息,加上sh,即可, 在容器中exit退出的时候,容器也随之消失
$ docker run -it --rm php:alpine3.7 sh你进行docker ps 查看正在运行的容器的时候,发现并没有运行的容器.原因是因为
--rm, --rm, 指定容器停止后自动删除容器(不支持以docker run -d启动的容器),所以可以使用此方式来查看自己拉取容器里的一些信息.备注:
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
场景2: 当你使用了一个已经存在的开发框架的docker环境,那么你需要的是使用本地开发代码,一遍开发一遍使用docker里的环境测试
以swoft为例,后台运行
$ docker run -d -p 80:80 --name swoft swoft/swoft:latest其实就是在启动的时候把自己的开发本地目录映射到容器内的web目录即可.-v参数
$ docker run -p 80:80 --name swoft -d \
-v /home/revin/swoft/:/var/www/swoft \
swoft/swoft:latest场景3. 已经有了dockerfile文件,拿swoole开发为例
1.构建Dockerfile
ADD 和COPY的不同之处在于Add 可以在里面帮你自动解压缩.
2.docker build指令构建Docker镜像
-t 构建后iamge的名字
构建完成后就可以通过docker images指令查看镜像是否创建成功。
并映射了本地开发环境.
上面的代码是运行一个容器,并进入容器,但是退出后容器会消失.
上面的代码是后台运行一个容器,可以通过docker exec -it swoft bash进入容器进行交互.(alpine中无bash,可以使用sh)
3.当修改了代码,或者配置文件则需要重启容器
4.查看容器里的日志
5.当开发时,需要了解容器的ip地址等信息
6.停止容器
其他的命令则--help进行查看
场景4. 构建自己的image镜像。
当你使用 别人的基础镜像,你可以镜像进行一些修改安装。
1、使用镜像启动一个容器
2、构建一个新的images
场景5:容器宿主机间相互拷贝文件
docker cp命令
文档:https://docs.docker.com/engine/reference/commandline/cp/
从容器中拷贝到主机:
也可以从宿主机拷贝到容器中
不过一般情况下配置文件,只会挂载到容器中。
windows10 下
Last updated
Was this helpful?