docker使用

包含三种命令,build,share,run。

有三个模块,包括client, docker主机和应用市场。其中主机安装和启动docker程序,应用市场保存上传的应用(镜像),client提供请求。我们的操作在client上进行。

在需要启动镜像时,首先输入docker pull XX,把镜像从应用市场下载到主机。然后输入docker run XX,来启动主机内的镜像,生成的应用称为容器。

在想要上传自己的镜像时,首先输入docker build XX,把镜像上传到主机,然后输入 docker pull XX,来把镜像从主机上传到应用市场。.

容器

在传统应用中,应用不相互隔离,可能会相互影响。进而推出把应用放进虚拟机中,但是这样虚拟机包括操作系统等占用大量空间,所有有了容器。可以看作是虚拟机的简化版本,容器包含了应用运行的所有需要,并且相互隔离,有自己的文件系统。

操作

下载安装,在

Install Docker Engine on Ubuntu | Docker Docs

在左侧选择操作系统,然后按步骤走。ubuntu少了启动,在配置好后需要加上

sudo systemctl enable docker --now
sudo一定要加,不然要求密码。

在下载镜像时,可以通过配置json更换源,来加速运行。

sudo tee /etc/docker/daemon.json <<- 'EOF'
> {
> "registry-mirrors":["https://mirror.ccs.tencentyun.com"]
> }
> EOF
sudo systemctl daemon-reload

sudo systemctl restart docker

实验

查找nginx,先进入root,不然命令被拒绝

docker pull nginx 从应用市场下载到主机

下载指定镜像,需要挂梯子在http://hub.docker.com/

docker images 查看主机现在有的镜像

删除主机镜像,需要把容器关闭再删

查看容器        docker ps -a会显示包括停止的

docker stop XX 停止容器

docker rm XX 删除容器,注意和rmi的区别。docker rm -f XX强制删除

docker logs XX 显示容器的日志

端口映射

由于nginx的端口是容器内的,外部无法访问,所以需要一个端口映射。-p

8080是外部端口,80是容器端口。mynginx自定义名字

进入容器docker exec -it name /bin/bash

由于过于轻量级,所以不能vim,使用echo "<h1>Hello,Docker.</h1>" > index.html给html添加信息

exit 退出容器

保存镜像

输出信息

加上镜像名和版本

把镜像下载到本地,-o 可以指定格式和名字,这里为tar。注意V要大写

docker load -i mynginx.tar         从本地上传镜像到主机(通常为tar)

docker build XXX                         上传dockerfile到主机

docker run -d --name app01 -p 8080:80 mynginx:V1.0   -d表示为后台启动,--name指定容器名

上传镜像到社区(应用仓库)

进入官网登录,可以查看已经上传的

客户端登录,docker login,可能需要再浏览器激活

登陆后上传 docker tag XXX username/XXX,版本号为latest,可以在push时不指定版本号

从应用市场下载指定镜像

指定目录挂载          

docker run -d -p 8080:80 -v /home/zjx/share/:/usr/share/nginx/html --name mynginx nginx

:之前为本地目录,之后为容器目录

不知道为啥本地不显示,心态崩了,卷挂载不想搞了,直接下一个

docker网络

在启动docker后,会创建一个网段

查看某一个容器的细节,container可以省略

查看容器对应网络

进入容器来查看另一个容器的信息 curl ip:port 注意port是容器内部的,不是外部端口

由于在容器的删除和创建时IP不断变化,所以使用域名映射

首先创建一个网络                docker network create mynet

查看网络         docker network ls,注意创建的是桥接网络

使用网络来建立容器

测试,创建两个容器,进入一个,直接用容器名代替ip

使用docker配置redis集群.

剩下的操作在尚硅谷3小时速通Docker教程,雷神带练docker部署到实战!_哔哩哔哩_bilibili

不知道为什么hubdocker访问失败

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值