博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker--入门《二》
阅读量:2351 次
发布时间:2019-05-10

本文共 2315 字,大约阅读时间需要 7 分钟。

Docker logo中集装箱就是镜像,实现的是硬件的隔离。

Docker镜像流程图:
在这里插入图片描述
摘自:https://www.imooc.com/learn/824
Docker解决了环境的不一致、弹性的伸缩。

Centos下的安装教程:

http://www.runoob.com/docker/centos-docker-install.html
配置阿里云的加速地址:
参考文档:
https://cr.console.aliyun.com/cn-hangzhou/mirrors
https://jingyan.baidu.com/article/8275fc86407c3546a03cf60a.html

Docker网络:

在这里插入图片描述
docker网络
网络类型:
Bridge :将容器中的端口和宿主机中的端口进行映射。访问宿主机将会访问到容器中端口,宿主机和容器中之间将会创建docker0网桥,将会和
docker中的eth0网卡相连,
Host:不会有work namespace,将会和主机使用同一个,不会虚拟出自己的网卡IP等信息。而是会用宿主的IP,
none:容器中不会与外界有联系。

Docker启动:

sudo systemctl start docker

从Docker官方仓库中拉取Hello World

docker pull hello-world

不加地址默认在Docker镜像仓库中拉取

从网易云中拉取Nginx镜像

docker pull hub.c.163.com/library/nginx:latest
可以查看本机哪些镜像

docker images

在这里插入图片描述

启动的是在前台启动,在控制台ctrl+C即停止的服务控制端不会收到任何的信息。类似于在linux控制台执行java -jar命令启动jar包。
hub.c.163.com/library/nginx为通过docker images查看到的镜像,正确的启动方式:

docker run -d -p 8080:80 hub.c.163.com/library/nginx

后台运行

docker run -d -i -t b546fde4431d  /bin/bash

返回一个id,通过docker ps发现与第一行相似,这样可以通过

docker ps

查看是否启动成功

在这里插入图片描述

进入docker容器:

数字为容器的id,容器run时通过-d返回的id,或docker ps 第一行的数字,
支持类似于模糊查询,只需要id的一部分即可进入

docker exec -it 7bf3341ad5d4 bash

退出容器

在容器中执行exit

关闭指定的容器

docker stop 7b

复制文件

docker cp redis-4.0.11.tar.gz 8aabd14df792:/usr/local

制作一个简单的镜像,将Web项目打包进镜像.

vim Dockerfile
from hub.c.163.com/library/tomcatCOPY SpringBoot03.war /usr/local/tomcat/webapps

需要在网易云下载基础镜像。下载基础镜像时可在镜像的详情中查看镜像中的目录结构。

在存在dockerfile的目录下
执行docker build .
build时给镜像指定镜像名
docker build -t testspringboot03:latest .
说明一下,镜像名字母只能是小写。
参考:http://onlysomeone.iteye.com/blog/2342374

发布镜像到阿里云:

在阿里云注册账号,在容器镜像服务中 创建镜像仓库和命名空间。然后再每一个镜像参考的管理界面即有如何上传镜像的文档。
在这里插入图片描述
登录时需要输入密码。
执行如下命令:
$ sudo docker login --username=1586350174@qq.com registry.cn-hangzhou.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/text/dockertext:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/text/dockertext:[镜像版本号]
可参考官方文档:
https://cr.console.aliyun.com/cn-hangzhou/repositories
上传成功后可在镜像搜索中根据镜像仓库名搜索到上传上去的镜像信息
在这里插入图片描述

删除本地的镜像然后从阿里云中拉取

删除:docker rmi -f registry.cn-hangzhou.aliyuncs.com/text/dockertext:1.0.1
注意需要制定版本号
删除本地镜像:
在这里插入图片描述
从阿里云中拉取镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/text/dockertext:1.0.1
在这里插入图片描述
注意后面的地址为公有网络地址。经典内网和专有网络不可行,无法拉取下来。

镜像中安装mysql:

启动:docker run -e MYSQL_ROOT_PASSWORD=123123 -p 3307:3306 -d hub.c.163.com/library/mysql
镜像下载中心:
https://c.163yun.com/hub#/m/repository/?repoId=2955

你可能感兴趣的文章
pycharm不同测试框架的设置、unittest测试案例
查看>>
python unittest TestCase间共享数据(全局变量的使用)
查看>>
Python中普通字符串 & json字符串&json对象的区别
查看>>
python中json.dumps()和json.dump() 以及 json.loads()和json.load()的区分
查看>>
Python3中打开文件的方式(With open)
查看>>
python中unittest加载测试用例的4种方法
查看>>
iOS中使用RNCryptor对资源文件加密
查看>>
Device Tree编译工具dtc
查看>>
softlockup/hardlockup原理详细介绍
查看>>
项目管理学习笔记之八风险管理过程总结
查看>>
项目管理学习笔记之九采购管理过程总结
查看>>
solaris常用命令总结
查看>>
邮件安全证书(S/MIME),如何申请邮件证书
查看>>
Go语言基础入门--简介
查看>>
Go语言基础入门--变量,类型
查看>>
Go语言基础入门--数组,切片,map
查看>>
Go语言基础入门--if,for,range,switch
查看>>
Go语言基础入门--函数,错误处理
查看>>
VIM 学习系列之基本命令,常用命令
查看>>
轻松搭建安全、轻量、极速、简约的博客Eiblog
查看>>