Docker
目的
怎么在一个已有的镜像上开发?
怎么调试,发布打镜像?
Docker不会用?
[搭建环境](1. 搭建环境.md)
一、Docker安装:Windows 10 点击链接下载 Stable 或 Edge 版本的 Docker for Windows 下载好之后双击 Docker for Windows Installer.exe 开始安装。
二、镜像加速器
[推荐] Daocloud镜像加速器: https://www.daocloud.io/mirror#accelerator-doc(自行注册)
阿里云加速器: https.aliyuncs.com
三、设置host 180.96.14.147 xx.docker.com xx.docker.com和加速器一样,加入到Registy mirrors.
四、windows需要设置电脑密码,需要提供给Docker,文件盘的访问权限
已有镜像上开发
一、项目安装
git clone xxx
安装依赖: composer install
cd items
docker-compose up
访问:localhost,出现json格式返回即成功。
新项目开发
配置Dockerfile文件(用于镜像构建)
配置docker-compose.yml文件(用于调试)
如何调试
一、 docker-compose.yml 文件
端口对应:通过访问本机的端口来访问容器的中的端口。 在文件中可以查看端口对应关系,一般为80:80 第一个是:指定主机port,第二个为指定容器port
代码:把本地的代码放到容器中 volumes:
./:/var/www/items 把当前目录挂载到镜像中的/var/www/items的目录
二、本地修改会自动同步到容器中,容器中的代码会自动重新执行,但是会比较慢。
三、如何访问容器中的代码?
docker ps //第一列为容器id
docker exec -it <container_id> bash // 进入容器
打包镜像上线
docker build -t services/items:v1 . 1.1 -t: tag 1.2 构建镜像会缓存代码,加参数--no-cache
docker tag services/items:v1 harbor.oneitfarm.com/services/items:v1
docker push harbor.oneitfarm.com/services/items:v1
基本操作
一、[镜像操作](3. 镜像操作.md)
# 列出本机的所有 image 文件。
$ docker image ls
# 删除 image 文件
$ docker image rm [imageName]
# 获取镜像
$ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
二、[容器操作](4. 容器操作.md)
# 新建并启动
$ docker run -it ubuntu:14.04 bash
$ -i 保持容器的输入流
$ -t 打开一个虚拟终端
# 列出本机正在运行的容器
$ docker container ls
# 列出本机所有容器,包括终止运行的容器
$ docker container ls --all
# 生成一个正在运行的容器实例
$ docker container run
$ docker container run -it centos:latest bash
# 进入一个容器
$ docker attach [containerID]
$ docker exec -it <container> bash // 推荐使用
# 停止
$ docker container kill [containerID]
# 删除
$ docker container rm [containerID]
[资源列表](7. 资源列表.md)
[常见问题](8. 常见问题.md)
Last updated