举个简单的小例子,简单运用下docker:
现有如下要求:
1.编写 https://gitlab.com/zmy/phippy 的 Dockerfile
要求:指定工作目录为自己的名字
2. 根据上面编写的 Dockerfile 构建出镜像,tag 为自己的名字
3. 根据上面构建出来的镜像,run 一个容器,并在浏览器中访问 /index
4. 将构建出来的镜像 push 到 172.16.110.17 上
- 需要 docker login,账号密码:admin/changeme
- 需要 docker tag 成 172.16.110.17/demo/<镜像名>:<自己名字>)
5. 用 docker compose 将上面构建出来的镜像 run 起来
- 如果本地没有 docker-compose,可以 ssh 到 172.16.110.17,密码 dangerous
- 在 172.16.110.17 的 /root 下创建以自己的名字创建文件夹,存放自己的 compose yaml。
实现步骤:
第一步第二步:
1、在本地创建dockerfile文件夹,将jar包丢到dockerfile同目录下
mkdir Dockerfile
git clone git@gitlab.com:zmy/phippy.git. 并存放在Dockerfile文件夹下
2、编写Dockerfile
FROM daocloud.io/library/python
MAINTAINER zhoumengyuan "mengyuan.zhou@daocloud.io"
WORKDIR /zhoumengyuan
COPY zhoumengyuan /Users/zhoumengyuan/Dockerfile/zhoumengyuan
RUN pip install -r /Users/zhoumengyuan/Dockerfile/zhoumengyuan/requirements.txt
CMD ["python", "/Users/zhoumengyuan/Dockerfile/zhoumengyuan/app.py"]
EXPOSE 5000
3.构建镜像:
注意:一定要加.
docker build -t zhoumengyuan .
第三步:
1、查看镜像是否可以运行
docker run -p 5000:5000 zhoumengyuan
访问http://localhost:5000/index,能访问同证明镜像正确
第四步:
1、访问不安全,要将地址加入到docker-preferences-daemon中
docker login 172.16.110.17
输入用户名和 密码
2、打tag,一定要打tag,并且命名和版本号一致
docker tag zhoumengyuan:latest 172.16.110.17/demo/zhoumengyuan:zhoumengyuan
docker images
docker login 172.16.110.17
docker push 172.16.110.17/demo/zhoumengyuan:zhoumengyuan
注意:拉下来的版本号要和推上去的版本号对应
docker pull 172.16.110.17/demo/zhoumengyuan:zhoumengyuan
docker rmi 6b4f426b0a28
docker images
第五步:
1、编写yml文件
ssh root@172.16.110.17
输入yes后你输入密码dangerous
cd .root
mkdir zhoumengyuan
ls
cd zhoumengyuan/
vim docker-compose.yml
编写docker-compose.yml
version: "3.7"
services:
phippy:
image: 172.16.110.17/demo/zhoumengyuan:zhoumengyuan
ports:
- "9000:5000"
deploy:
mode: replicated
replicas: 1
docker-compose up