docker入门-1

第一部分:测试docker环境

查看docker版本

docker --version

查看更多安装信息

docker info

测试跑一个简单的官方自带例子

docker run hello-world

 列出所有的镜像

docker image ls

列出所有的容器 

docker container ls --all

第二部分 容器 

用Dockerfile定义容器

# 用官方Python做一个父镜像
FROM python:2.7-slim
# 设置工作目录/app
WORKDIR /app
# 拷贝当前目录内容到容器的/app目录下
COPY . /app
# 安装在requirements.txt指定的程序包
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# 暴露容器80端口供容器外可用
EXPOSE 80
# 定义一个环境变量
ENV NAME World
# 当容器启动是跑app.py
CMD ["python", "app.py"]

requirements.txt 内容中的安装包 

Flask
Redis

app.py python脚本程序内容如下

from flask import Flask
from redis import Redis, RedisError
import os
import socket

# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)

app = Flask(__name__)

@app.route("/")
def hello():
    try:
        visits = redis.incr("counter")
    except RedisError:
        visits = "<i>cannot connect to Redis, counter disabled</i>"

    html = "<h3>Hello {name}!</h3>" \
           "<b>Hostname:</b> {hostname}<br/>" \
           "<b>Visits:</b> {visits}"
    return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80)

构建

将Dockerfile、app.py、 requirements.txt三个文件放在同一目录下。

docker build -t friendlyhello .

运行 -p 4000:80 宿主机的4000端口映射容器的80端口 

docker run -p 4000:80 friendlyhello

登陆阿里云的私有registry 

docker login --username=13621151569@yeah.net registry.cn-hangzhou.aliyuncs.com

将构建的镜像上传到阿里云registry

docker tag dk/mysecondapp registry.cn-hangzhou.aliyuncs.com/dk-aliyun-st-repo/dk-st-repo/dk/mysecondapp:1.0 [缺省是latest]
docker push registry.cn-hangzhou.aliyuncs.com/dk-aliyun-st-repo/dk-st-repo/dk/mysecondapp:1.0

 

从阿里云registry拉取并运行

docker pull registry.cn-hangzhou.aliyuncs.com/dk-aliyun-st-repo/dk-st-repo
docker run -p 8888:5000 --name mysecondapp registry.cn-hangzhou.aliyuncs.com/dk-aliyun-st-repo/dk-st-repo 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用: Docker是一个图像化界面管理工具,它提供了一个后台面板供我们操作。你可以使用以下命令来运行Docker: "docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer"。 引用: 如果你想编写一个Dockerfile文件,可以按照以下步骤进行:首先,使用"Docker build"命令将其构建成为一个镜像;然后,使用"Docker run"命令运行该镜像;最后,使用"Docker push"命令发布镜像到DockerHub或阿里云镜像仓库(私有/共有)。 引用: 如果你想使用Dockerfile创建一个镜像,可以按照以下步骤进行:首先,将Dockerfile和你的jar文件放在同一个目录下;然后,执行命令"Docker build -t helloworld:1.0 ."来创建镜像。 关于"docker bridge -v"的问题,它是一个无效的命令。Docker Bridge是Docker的网络驱动程序,它为容器提供了网络连接。而"-v"是用来挂载卷(Volume)的命令,用于将宿主机的目录或文件挂载到容器中。所以,"docker bridge -v"不是一个有效的Docker命令,请确认你的命令是否正确。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [docker快速入门](https://blog.csdn.net/chongcilingjian/article/details/119640314)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值