Docker使用与命令

Docker

说明

Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。
Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

容器化技术:

内核->环境->程序
内核->容器(环境->程序)

优点:


容器相互独立,与操作系统独立

虚拟机与Docker异同:

Docker有环境,应用,文件,但无内核。
虚拟机有内核,是一个完整的操作系统

用法

独立环境:

创建独立与操作系统的环境与文件体系

连同环境打包应用,项目:

DevOps(开发运维):
快速交付部署:不用帮助文档,打包镜像发布测试一键运行
升级,扩容:扩展服务器a,复制镜像到服务器b运行
运行维护系统:开发,测试环境高度一致
高效运行计算资源:

命令:

使用官方安装脚本自动安装:

$curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun

报错:需手动配置权限:

$sudogroupadddocker
$sudogpasswd-a$USERdocker
$newgrpdocker

显示信息

$dockerversion
$dockerinfo

帮助:

$dockerhelp

镜像命令:
查看:

$dockerimages

载入ubuntu镜像:

$dockerpullubuntu
$dockerpullubuntu:latest

删除:

$dockerrmi-f$(dockerimages-aq)

获取:

$dockerpullubuntu:13.10

查找:
从DockerHub网站来搜索镜像,DockerHub网址为:

https://hub.docker.com/

本地创建:

dockercommit-m="hasupdate"-a="runoob"e218edb10161runoob/ubuntu:v2

容器命令:
运行:

$dockerrun-itubuntu/bin/bash
$dockerrunubuntu:15.10/bin/echo"Helloworld"
$dockerrun-itd--nameubuntu-testubuntu/bin/bash(后台运行)

退出:

$exit

查看:

$dockerps-a

停止:

$dockerstop<容器ID>

重启:

$dockerrestart<容器ID>

删除:

$dockerrm-f1e560fca3906
$dockercontainerprune

进入:

$dockerattach<容器ID>
$dockerexec-it243c32535da7/bin/bash

导入容器:

$dockerexport1e560fca3906>ubuntu.tar

导入容器快照:

$catdocker/ubuntu.tar|dockerimport-test/ubuntu:v1
$dockerimporthttp://example.com/exampleimage.tgzexample/imagerepo

web应用:

$runoob@runoob:~#dockerpulltraining/webapp#载入镜像
$runoob@runoob:~#dockerrun-d-Ptraining/webapppythonapp.py

容器连接:容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过-P或-p参数来指定端口映射。
网络端口映射:

$dockerrun-d-Ptraining/webapppythonapp.py
$dockerrun-d-p32768:5000training/webapppythonapp.py容器端口5000绑定主机端口32768。
$dockerrun-d-p127.0.0.1:5001:5000training/webapppythonapp.py绑定的网络地址127.0.0.1。

查看端口的绑定情况:

$dockerportadoring_stonebraker5000

容器互联:端口映射并不是唯一把docker连接到另一个容器的方法。docker有一个连接系统允许将多个容器连接在一起,共享连接信息。
新建网络:

$dockernetworkcreate-dbridgetest-net

连接容器:

$dockerrun-itd--nametest1--networktest-netubuntu/bin/bash
$dockerrun-itd--nametest2--networktest-netubuntu/bin/bash

仓库管理:DockerHub
登录:

$dockerlogin

退出:

$dockerlogout

查找:

$dockersearchubuntu

下载:

$dockerpullubuntu

推送:

$dockertagubuntu:18.04username/ubuntu:18.04
$dockerimagels

返回:

REPOSITORYTAGIMAGEIDCREATED...
ubuntu18.04275d79972a866daysago...
username/ubuntu18.04275d79972a866daysago...

$dockerpushusername/ubuntu:18.04
$dockersearchusername/ubuntu

返回:

NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED
username/ubuntu

Dockerfile定制镜像:
Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
在一个空目录下,新建一个名为Dockerfile文件,并在文件内添加以下内容:

FROMnginx
RUNecho'这是一个本地构建的nginx镜像'>/usr/share/nginx/html/index.html

开始构建镜像:

$dockerbuild-tnginx:v3.

DockerCompose:
安装:

$sudocurl-L"https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose

创建软链:

$sudoln-s/usr/local/bin/docker-compose/usr/bin/docker-compose

测试是否安装成功:

$docker-compose--versioncker-composeversion1.24.1,build4667896b

创建一个测试目录:

$mkdircomposetest
$cdcomposetest

可视化:
安装:

$dockerrun-d-p8088:9000portainer/portainer

#GPU
与虚拟机不同,docker可以使用GPU进行计算
安装docker-ce:
安装nvidia-container-toolkit:

$distribution=$(./etc/os-release;echo$ID$VERSION_ID)
curl-s-Lhttps://nvidia.github.io/nvidia-docker/gpgkey|sudoapt-keyadd-
curl-s-Lhttps://nvidia.github.io/nvidia-docker/$distribution/nvidia-	docker.list|sudotee/etc/apt/sources.list.d/nvidia-docker.list
sudoapt-getupdate&&sudoapt-getinstall-ynvidia-container-toolkit
sudosystemctlrestartdocker

#参考:
runoob
bili

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值