$ docker run --rm hello-worldUnable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-world7050e35b49f5: Pull completeDigest: sha256:13e367d31ae85359f42d637adf6da428f76d75dc9afeb3c21faea0d976f5c651Status: Downloaded newer image for hello-world:latestHello from Docker!This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(arm64v8) 3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID: https://hub.docker.com/For more examples and ideas, visit: https://docs.docker.com/get-started/
3.2 , 下载与使用Docker公共镜像(Images)1 , 使用 docker search 命令从 Docker Repo 搜索 Dokcer 可用的镜像 。示例命令:docker search ubuntu18.04
。
文章插图
2 , 使用 docker image pull 命令从 Docker Repo 获取指定的 Dokcer镜像(Images) 。示例命令:
docker image pull docker.io/hello-world
。拉取名为 docker.io/hello-world 的镜像 。文章插图
3 , 使用 docker image ls 命令查看本地的 Dokcer 镜像(Images) 。
4 , 使用 docker run 命令运行 Dokcer 镜像(Images) 。示例命令:
docker run hello-world
。文章插图
5 , 使用 docker info 命令 , 查看当前 docker容器 的所有的信息 。
文章插图
6 , 使用 docker version 查看容器的版本信息 。
【Docker基础和常用命令】
$ dockerd --versio # 这个命令查看 docker 版本更简单Docker version 19.03.13, build 4484c46d9d
文章插图
四 , Docker 镜像命令Docker镜像(Images) 也可以理解为是一个用于创建 Docker容器(Container) 的静态模板 。一个 Docker镜像(Images) 可以创建很多 Docker容器(Container) 。
Docker 镜像常用命令如下:
命令描述docker commit创建镜像 。docker images查看镜像信息 。docker load导入镜像 。docker pull拉取 Docker 镜像 。docker push上传镜像 。docker rmi删除镜像 。docker save导出镜像 。docker search在 Docker Hub 搜索镜像 。docker tag为镜像打标签 。五 , Docker 容器命令5.1 , docker run 命令通过 docker run 命令可以基于镜像新建一个容器并启动 , 语法如下:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
其他常用容器管理命令如下:
# 新建容器并启动$ docker run [镜像名/镜像ID]# 启动已终止容器$ docker start [容器ID]# 列出本机运行的容器$ docker ps# 停止运行的容器$ docker stop [容器ID]# 杀死容器进程$ docker kill [容器ID]# 重启容器$ docker restart [容器ID]
docker run命令语法1, docker run 命令常用选项:可通过 docker run --help 命令查看全部内容 。
选项说明-d, --detach=false指定容器运行于前台还是后台 , 默认为 false 。-i, --interactive=false打开 STDIN , 用于控制台交互 。-t, --tty=false分配 tty 设备 , 该可以支持终端登录 , 默认为 false 。-u, --user=""指定容器的用户 。-a, --attach=[]登录容器(必须是以 docker run -d 启动的容器) 。-w, --workdir=""指定容器的工作目录 。-c, --cpu-shares=0设置容器 CPU 权重 , 在 CPU 共享场景使用 。-e, --env=[]指定环境变量 , 容器中可以使用该环境变量 。-m, --memory=""指定容器的内存上限 。-P, --publish-all=false指定容器暴露的端口 。-p, --publish=[]指定容器暴露的端口 。-h, --hostname=""指定容器的主机名 。-v, --volume=[]给容器挂载存储卷 , 挂载到容器的某个目录 。–volumes-from=[]给容器挂载其他容器上的卷 , 挂载到容器的某个目录 。–cap-add=[]添加权限 。–cap-drop=[]删除权限 。–cidfile=""运行容器后 , 在指定文件中写入容器 PID 值 , 一种典型的监控系统用法 。–cpuset=""设置容器可以使用哪些 CPU , 此参数可以用来容器独占 CPU 。–device=[]添加主机设备给容器 , 相当于设备直通 。–dns=[]指定容器的 dns 服务器 。–dns-search=[]指定容器的 dns 搜索域名 , 写入到容器的 /etc/resolv.conf 文件 。–entrypoint=""覆盖 image 的入口点 。–env-file=[]指定环境变量文件 , 文件格式为每行一个环境变量 。–expose=[]指定容器暴露的端口 , 即修改镜像的暴露端口 。–link=[]指定容器间的关联 , 使用其他容器的 IP、env 等信息 。–lxc-conf=[]指定容器的配置文件 , 只有在指定 --exec-driver=lxc 时使用 。–name=""指定容器名字 , 后续可以通过名字进行容器管理 , links 特性需要使用名字 。–net=“bridge”器网络设置:1. bridge 使用 docker daemon 指定的网桥 。2. host //容器使用主机的网络 。3. container:NAME_or_ID >//使用其他容器的网路 , 共享 IP 和 PORT 等网络资源 。4. none 容器使用自己的网络(类似–net=bridge) , 但是不进行配置 。–privileged=false指定容器是否为特权容器 , 特权容器拥有所有的 capabilities 。–restart=“no”指定容器停止后的重启策略:1. no:容器退出时不重启 。2. on-failure:容器故障退出(返回值非零)时重启 。3. always:容器退出时总是重启 。–rm=false指定容器停止后自动删除容器(不支持以 docker run -d 启动的容器) 。–sig-proxy=true设置由代理接受并处理信号 , 但是 SIGCHLD、SIGSTOP 和 SIGKILL 不能被代理 。示例:kestrel 人群等 sdk 使用运行容器的脚本如下:
经验总结扩展阅读
- Redis先操作数据库和先删除缓存, 一致性分析
- JK触发器与模12计数器
- 充满希望和励志的短句 表达对人的期待的句子
- 充满希望和励志的短句 很暖很治愈的短句
- 地铁跑酷怎么和好友一起玩
- 苹果13ProMax和一加10Pro对比-哪个好测评
- vivoS12Pro和华为nova9Pro哪个好-vivoS12Pro和华为nova9Pro参数对比
- 小米11ultra8g和12g有什么区别?
- 万圣夜和万圣节有什么区别
- 野火 STM32MP157 开发板内核和设备树的编译烧写