网站建设项目经理的工作,服务专业的公司网站设计,桂林论坛爆料,模板王ppt1、什么是Docker#xff1a;
Docker 将程序和程序运行所依赖的所有环境都打包到镜像里。“build once, run anywhere”Docker 是容器的一种实现。
Windows 下如何安装Docker:
官方安装教程#xff1a;Install Docker Desktop on Windows | Docker Docs有两种安装套装…
1、什么是Docker
Docker 将程序和程序运行所依赖的所有环境都打包到镜像里。“build once, run anywhere”Docker 是容器的一种实现。
Windows 下如何安装Docker:
官方安装教程Install Docker Desktop on Windows | Docker Docs有两种安装套装需要安装 WSL2 或者开启 Hyper-V and Containers 虚拟化特性。注意如果你已经装了WSL不想因为装WSL2破坏了WSL那么最好选择“开启 Hyper-V and Containers 虚拟化特性”的这个方式。无论哪种套装安装“Docker Desktop” 并运行启动。
2、docker image
一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。 Docker 镜像一般存放在镜像仓库服务(Image Registry)里默认的镜像仓库服务是Docker Hub。 用户可以制作、构建镜像、将镜像上传到镜像仓库服务从而可以在其他地方从镜像仓库服务里拉取镜像。
2.1 拉取
例如从Docker Hub拉取 helloworld 镜像的命令
docker image pull library/hello-world
2.1 列举所有镜像
一个镜像的名字也叫镜像的仓库名英文是REPOSITORY本地列举所有镜像的命令
docker image ls
2.3、查看某个镜像的配置信息
一个镜像的配置信息可以通过下面的命令查看
docker image inspect hello-world
2.4、移除镜像
通过命令docker image rm命令可以删除不用的镜像例如先通过命令查看有哪些镜像。
docker image ls
截图如下可以看到两个名字为none的镜像 如果镜像没有被启动过直接之下下面的命令能删除成功
docker image rm 09d01ed9156b
启动过我们可以批量使用Linux命令批量删除
docker ps -a | grep Exited | awk {print $1 }|xargs docker rm
2.5、查看所有的镜像操作命令 docker image 3、docker cnontainer
一个Docker镜像(image)运行后就是一个容器实例称为container
3.1 运行
以镜像hello-world为例启动容器
docker container run -it hello-world 3.2 运行进入交互式shell环境
运行容器后可以通过参数指定执行的第一个程序例如可以先拉取ubuntu的容器镜像
docker image pull library/ubuntu
下载 ubuntu 镜像成功 接着启动container 并执行第一个程序bin/bash:
docker container run -it ubuntu bin/bash
可以看到成功进入了ubuntu容器实例的shell环境并在shell环境里执行了ls和ll命令。 3.3 kill容器
使用容器的id就可以杀死容器实例
docker container kill ****** 3.4 更多命令
下面的命令可以看到所有的 container 可选操作
docker container
如图所示 4、 使用Dockerfile制作镜像
4.1 创建仓库
在你自己的 gitcode.net 上创建一个仓库命名为cloud_native_hello_py目录结构如下
.
├── .dockerignore
├── .gitignore
├── Dockerfile
├── README.md
└── src├── main.py└── requirements.txt
4.2 构建容器并发布
上一题准备了代码仓库并且配置了对应的 Dockerfile 现在使用 docker 命令来制作镜像
docker image build -t cloud_native_hello_py:0.0.1 ./
构建如图所示 构建镜像之后可以将镜像发布到 DockerHub 不过需要首先注册下账号
在 https://hub.docker.com 上注册自己的账号使用命令 docker login 在本机登陆输入自己的用户名和密码
现在可以使用命令 tag 来修改镜像的标签为用户名/镜像名格式
docker tag cloud_native_hello_py:0.0.1 long/cloud_native_hello_py
可以用docker image ls验证结果 现在可以使用镜像的 push 命令来发布
docker push long/cloud_native_hello_py:latest 5、拉取镜像并运行
上一节创建了一个Python Flask 服务git仓库然后为它配置了一个Dockerfile最后构建了镜像并推送到Docker Hub。
现在可以从 Docker Hub 拉取该镜像并运行。
首先拉取镜像
docker pull long/cloud_native_hello_py 其次运行容器
docker run -p 1024:1024 -it long/cloud_native_hello_py
这个命令没有指定容器启动后运行的命令因此容器启动后会执行镜像制作时Dockerfile里指定的CMD命令可以看到容器启动后执行了Python程序容器服务在1024端口监听HTTP请求因为 docker run 配置了参数-p 1024:1024这里把主机的1024端口映射到了容器里的1024端口。 现在在浏览器里测试下请求 请求成功输出了Hello World!到这里你就成功学会了容器镜像制作、发布、拉取和运行一条龙服务。