docker入门指南

欢迎关注我的公众号:java技术学习之道,长期分享各种技术文 欢迎关注我的公众号:java技术学习之道,长期分享各种技术文章。     2022-11-17     391

关键词:

地址:docker入门指南

更换国内镜像源

docker store地址默认是在国外,下载速度很慢,自行更换国内docker加速地址。

名词解释

image: 镜像
containers: 容器
docker-machine: docker虚拟主机
docker store: docker存储云

术语

Image 和 Container
Image可以理解为一个系统镜像,Container是Image在运行时的一个状态。
如果拿虚拟机作一个比喻的话,Image就是关机状态下的磁盘文件,Container就是虚拟机运行时的磁盘文件,包括内存数据。

Image 是系统一般来源是官方资源,或者比较稳定成熟的资源
Container 是启动系统后的运行时环境, 包括磁盘 + 运行的其他软件 + 环境配置他们之间可以互相转换。

docker daemon
主机上运行的后台服务管理构建,运行和分发Docker容器

docker client
命令行工具,允许用户与Docker守护进程交互

docker store
docker images的注册地址,可以在其中找到受信任的企业级容器,插件和Docker版本。相当于docker的仓库。

运行docker HelloWorld
docker run hello-world

拉取docker cloud项目
docker pull alpine
docker run hello-world 背后也做了 docker pull 的动作去docker服务器上面下载。

提示:如果本地不存在这个image的话,如果本地已经存在,就不去docker store上面下载了。

查看所有的docker镜像
docker images

执行 docker 的命令
docker run alpine ls -l

进入一个docker
docker run -it alpine /bin/sh
exit退出

查看当前运行的 docker
docker ps

查看全部 docker
docker ps -a

获取 docker run 参数列表
docker run --help

查看一个docker的信息
docker inspect alpine

暂停 docker 容器
docker stop xxx

xxx 为 docker容器的名字 或CONTAINER ID

删除一个docker容器
docker rm xxx

-f 运行中的docker容器,需要先暂停再删除,或者直接加此参数

docker rm -f xxx

基本的docker web项目
从docker store获取依赖的docker image

// docker pull dockersamples/static-site
docker run -d dockersamples/static-site

-d 表示后台运行,不加-d,就像Tomcat一样,无法再在当前命令窗口操作了,默认是flase。

detached 模式运行docker
docker run --name static-site -e AUTHOR="Your Name" -d -P dockersamples/static-site

-d 独立于当前命令窗口运行

-P 将所有暴露的docker容器端口,映射到真实主机上面的随机端口

-p 将当前主机上面的指定端口,映射到docker容器的一个端口:-p 8888:80 将当前主机的8888端口映射到docker容器的80端口。

--name 指定容器的名称

-e 可以传递环境变量给docker容器

AUTHOR 环境变量的名称和值,可以自己任意指定

查看docker容器映射的端口
docker port [容器名 --name 指定的值]

$ docker port static-site
443/tcp -> 0.0.0.0:32772
80/tcp -> 0.0.0.0:32773

使用localhost:[docer80的本地映射端口]访问:
http://localhost:32769/

创建docker主机

列出所有的docker主机
docker-machine ls

获取docker主机的IP地址
docker-machine ip default

可能出现错误:
Host does not exist: "default"

解决:
docker-machine create default

如果继续报错,Mac需要安装:VirtualBox
https://www.docker.com/products/docker-toolbox

Mac
docker-machine create -d virtualbox default

Windows
需要在添加删除程序里面开启hyperv,只有专业版的Windows才有,家庭版不存在此功能。

docker-machine create --driver hyperv vm
https://docs.docker.com/machine/drivers/hyper-v/

安装完以后重启docker

Linux

sudo service docker restart
Mac 和 Windows 图形化界面手动重启

然后继续创建:
docker-machine create default

名字可以随便起,不一定要叫default
不报错任何错误,如:

Running pre-create checks…
Error with pre-create check: "exit status 126"

说明安装成功:

Running pre-create checks…
Creating machine…
(default) Copying
(default) Creating VirtualBox VM…
(default) Creating SSH key…
(default) Starting the VM…
(default) Check network to re-create if needed…
(default) Found a new host-only adapter: "vboxnet0"
(default) Waiting for an IP…
Waiting for machine to be running, this may take a few minutes…
Detecting operating system of created instance…
Waiting for SSH to be available…
Detecting the provisioner…
Provisioning with boot2docker…
Copying certs to the local machine directory…
Copying certs to the remote machine…
Setting Docker configuration on the remote daemon…
Checking connection to Docker…
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env default

然后再次查看docker主机:
docker-machine ls

看到NAME为default的主机,说明成功。

再次输入:docker-machine ip default

得到一个主机的IP

192.168.99.100

进入docker主机
docker-machine ssh default

看到命令行前缀改变,表示成功

[email protected]:~$

从docker store下载并运行
dockersamples/static-site:

docker run --name static-site -e AUTHOR="Your Name" -d -P dockersamples/static-site

然后查看docker主机里面容器的映射端口,使用docker主机的ip + 主机内容器的端口就可以访问到主机内的容器服务:

查看容器映射端口
docker port static-site
443/tcp -> 0.0.0.0:32768
80/tcp -> 0.0.0.0:32769
http://192.168.99.100:32769/

docker入门与进阶

Docker入门与进阶1.Docker安装2.构建Docker镜像更新中... 查看详情

docker入门与进阶

Docker入门与进阶1.Docker安装2.构建Docker镜像更新中... 查看详情

docker入门:容器(containers)

        这个《Docker入门系列》文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成。主要是作为个人学习记录。有错误的地方,Robin欢迎大家指正。分为如下几个部分:1Docker入门:... 查看详情

docker入门教程命令

 Docker入门教程(二)命令【编者的话】DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能。在Docker系列教程的第一篇文章中,我们了解了Docker的基础知识,... 查看详情

docker技术快速精通指南

doctor专业网站:http://www.dockerinfo.net/Docker中文文档csdn的docker专栏: Docker技术快速精通指南 查看详情

docker入门

一、Docker简介Docker两个主要部件:Docker:开源的容器虚拟化平台DockerHub:用于分享、管理Docker容器的DockerSaaS平台-- DockerHubDocker使用客户端-服务器(C/S)架构模式。Docker客户端会与Docker守护进程进行通信。Docker守护进程会处理复杂... 查看详情

docker快速入门指南(代码片段)

镜像操作搜索镜像$dockersearchcentos下载镜像$dockerpllcentos导入镜像$dockerload<./docker/image/centos.tar.gz导出镜像$dockersavecentos>/tmp/centos.tar.gz删除镜像如果这个镜像创建了容器不会被删除$dockerrmicentos查看当前拥有的镜像$dockerimagesREPOS 查看详情

docker入门到精通

在这些博文中,我学会了docker*[docker官网](https://www.docker.com/)   这里也是最权威的docker知识*[docker安装源地址](https://www.docker.com/)*[dockerhub](https://hub.docker.com/)*[docker中文社区](https://hub.docker.com/ 查看详情

docker入门

最近接手新的项目,用到了docker,所以花了两个晚上入了个门。慕课网上有简单的入门视频,有兴趣的坎坷可以去入个门.好了,进入正题,首先简单介绍下docker和虚拟机的区别:docker区别于虚拟机的地方在于,docker容器并不是... 查看详情

docker快速入门——docker常用命令(代码片段)

Docker快速入门——Docker常用命令一、Docker命令简介1、Docker命令简介Docker的命令清单可以通过运行sudodocker或者sudodockerhelp命令查看。Docker容器技术在不断演化过程中,Docker的子命令已经达到41个,其中核心子命令(例如:run)还会... 查看详情

docker入门基础

目录六、杂项六、杂项Docker组件:docker程序环境:环境配置文件:/etc/sysconfig/docker-network/etc/sysconfig/docker-storage/etc/sysconfig/dockerUnitFile:/usr/lib/systemd/system/docker.serviceDockerRegistry配置文件:/etc/containers/re 查看详情

docker入门

一、Docker原理介绍点击查看:https://www.cnblogs.com/hwlong/articles/9060557.html二、Docker安装点击查看:https://www.cnblogs.com/hwlong/articles/9095852.html  查看详情

docker基础入门

docker概念docker是基于go语言实现的容器项目,docker构建思想:build,shipandrunanyapp,anywhere,即一次封装,到处运行。docker在linux容器基础上进行了进一步的优化。使得docker容器更像是一种轻量级的沙盒。docker优势●更快的交付和部... 查看详情

docker入门

一、Docker相关概念1.Docker: namespace,cgroup: 解决方案: lxc,openvz lxc:linuxcontainers docker最初就是lxc的封装版本。 dockerengine/dockerserver:输出一个api,用于接受外部请求 接受到client请求,借助于lxc虚拟化技术,在lxc上创建一个虚拟机... 查看详情

docker快速入门——docker简介(代码片段)

Docker快速入门——Docker简介一、Docker简介1、Docker简介Docker是DockerInc公司开源的一项基于UbuntuLXC技术构建的应用容器引擎,源代码托管在GitHub上,完全基于go语言开发并遵守Apache2.0协议开源。Docker可以让开发者打包应用以及依赖包... 查看详情

docker快速入门——docker-compose(代码片段)

Docker快速入门——Docker-Compose一、Docker-Compose简介1、Docker-Compose简介Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及... 查看详情

宋宝华:docker最初的2小时(docker从入门到入门)

最初的2小时,你会爱上Docker,对原理和使用流程有个最基本的理解,避免满世界无头苍蝇式找资料。本人反对暴风骤雨式多管齐下狂轰滥炸的学习方式,提倡迭代学习法,就是先知道怎么玩,有个感性认识,再深入学习高级用... 查看详情

docker入门之三:docker构建私有镜像入门到实践(代码片段)

docker的简单使用1.docker构建私有镜像1.1.使用Dockerfile定制镜像1.2.构建镜像1.docker构建私有镜像1.1.使用Dockerfile定制镜像在空目录创建文件,命名为Dockerfile[hadoop@hadoop101file]$cddocker/[hadoop@hadoop101docker]$mkdirmydockerfile[hadoop@hadoop101docker]$to... 查看详情