Docker应用入门

看了 别人介绍的docker,觉得这个玩意儿不错要学一下,于是提出了很多问题,基于CentOS7学习使用docker

1、安装docker
2、docker服务的启动 查看状态 停止,
3、如何运行镜像
4、制作自己的镜像,打包,发送,运行
5、如何使用镜像仓库 Docker Hub 然后下载使用

1\安装docker:

CentOS下载:https://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
centos打开网络 :https://blog.csdn.net/sfeng95/article/details/62239539
选择了最小安装所以要先安装wget https://blog.csdn.net/keda8997110/article/details/8735735
centos安装docker https://www.runoob.com/docker/centos-docker-install.html

CentOS没有界面,指令输入比较麻烦还容易出错,建议使用putty连接虚拟机.然后指令就可以直接粘贴复制了.还不用调屏幕分辨率大小.

2、docker启动 查看docker状态 docker停止

docker服务开启:systemctl start docker / service docker start
docker服务关闭: systemctl stop docker / service docker stop
查看docker运行状态: systemctl status docker / service docker status
重启docker服务:systemctl restart docker /
设置docker开机启动: systemctl enable docker (能开,但我没找到怎么关)

3 \如何运行镜像

参考: https://www.runoob.com/docker/docker-hello-world.html
指令 docker run ubuntu:15.10 /bin/echo “Hello world”
在这里插入图片描述
运行交互式的容器:
docker run -i -t ubuntu:15.10 /bin/bash
各个参数解析:
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
此时我们已进入一个 ubuntu15.10系统的容器
退出容器:exit命令或者使用CTRL+D来退出容器

运行一个web应用 https://www.runoob.com/docker/docker-container-usage.html
载入镜像 docker pull training/webapp
运行镜像中的:一个应用程序 docker run -d -P training/webapp python app.py
执行docker ps
docker ps 查看正在运行中的容器
docker ps -a 查看已经存在的容器
在这里插入图片描述
程序运行起来了,查找虚拟机IP地址;但是ifconfig查不到网络信息.https://jingyan.baidu.com/article/eb9f7b6d42636d869364e8c9.html
找出IP地址和端口号就可以访问了
在这里插入图片描述
查看 WEB 应用程序日志: docker logs 容器ID
查看WEB应用程序容器的进程 : docker top 容器ID
停止 WEB 应用容器: docker stop 容器ID/容器名
重启WEB应用容器: docker start 容器ID/容器名
删除应用容器: docker rm 容器ID (删除时,容器必须处于停止状态)

容器随系统重启
参考https://blog.csdn.net/cc_want/article/details/85949558 (第一种方式不知道是我不会用,还是他不好用,没成功)
1\保证docker随系统重启 ( systemctl enable docker)
2\启动一个容器 docker start 镜像名称
3\docker update --restart=always 46ad0e229fdd //其中46ad0e229fdd 是此容器ID
4\ 不再随系统重启 docker update --restart=no 46ad0e229fdd
还可以参考一下更详细的这个: https://blog.csdn.net/kikajack/article/details/79521306

docker pull 下来的文件存放在哪里了?
参考:https://blog.csdn.net/weixin_39800144/article/details/79019503
cd /var/lib/docker/
输入 ls 诸多文件中可发现有两个文件夹 image 和 containers
containers中存放的是镜像
image中有一个repositories.json的文件,详细记录了镜像的一些信息(有的在image中可能还有一个文件夹)

4、制作自己的镜像,或者说,我的jar包怎么运行在容器里面,然后做成镜像给别人.

镜像创建两种方式:
1\ 自己使用Dockerfile创建
2\ 根据别人的镜像为基础创建
这里使用Dockerfile创建
参考(zhaochao): https://blog.csdn.net/qq_32923745/article/details/80817395
1\编写Dockerfile文件

mkdir docker-admin && cd docker-admin && vi Dockerfile
//创建一个文件夹   并进入   创建一个Dockerfile文件

Dockerfile文件中输入:

FROM docker.io/tomcat
MAINTAINER rstyro
COPY admin.war /usr/local/tomcat/webapps

找到一个命名为admin.war的文件 没有的就用原作者的

下载:
wget https://github.com/rstyro/admin/raw/pack/pack/admin-0.0.1-SNAPSHOT.war
改名:
mv admin-0.0.1-SNAPSHOT.war admin.war

构建镜像:

    docker build -t admin:1.0.0 .
-t 参数 后面跟镜像名字和tag  注意别忘了后面的 . 点表示当前路径

运行并绑定端口:

//给它取名 admin 本机端口映射 8090
	docker run --name=adminname -p 8090:8080 -d admin:1.0.0

//docker run  -name=自定义容器名称  -p  外界访问端口:镜像端口  -d  后台运行  镜像名称(或镜像id) 
//  --name 自定义容器名字 
// -p 映射端口  外界访问的端口:镜像端口   
//  -d :代表后台运行容器 

这里运行镜像,会创建一个容器下次运行或停止的时候的时候就可以直接运行容器了
docker start 容器名
docker stop 容器名

根据别人的 镜像基础创建自己的 镜像参考
https://blog.csdn.net/kity9420/article/details/75717091
https://blog.csdn.net/supermapsupport/article/details/75530762

4.2 使用别人的镜像基础制作新的镜像 参考 https://blog.csdn.net/chanmufeng/article/details/80459607
docker commit方式
1、运行交互式容器 docker run -it XXX(镜像名或者镜像ID)
2、自己修改一些东西 文件拷贝进入容器 https://blog.csdn.net/u011596455/article/details/76862271
3、docker commit a68c0 chanmufeng/centos-vim // docker commit a68c0(容器id的前5位 完整id反而报错) 用户名/镜像名

5 将自己的镜像发布到dockerhub

参考:https://blog.csdn.net/lileihappy/article/details/80511287
参考:https://www.cnblogs.com/wherein/p/6862911.html

首先要注册 https://hub.docker.com (拿到账号和密码)
登陆: docker login
输入账号和密码:
在这里插入图片描述
接下来就是上传了 先看一下 看一下本地有那些镜像
在这里插入图片描述
首先要改一下镜像名
使用
docker tag 镜像ID 用户名/镜像名:标签
然后使用 docker push 用户名/镜像名 上传
在这里插入图片描述
上传完成可以在页面上看到
在这里插入图片描述

删除镜像:
docker rmi 镜像id //运行过的镜像是无法直接删除的.需要先将容器删除docke
在这里插入图片描述
删除容器:

docker rm 容器ID

在这里插入图片描述
删除镜像
docker rmi 镜像id
在这里插入图片描述
如果多个REPOSITORY引用一个镜像ID会出现删除不了的情况,
这时删除镜像就要指定名称
在这里插入图片描述
下载一个镜像并运行;
docker pull 用户名/镜像名
删除本地所有镜像,下载刚才上传的镜像;
docker pull fuly1024/fuly
运行 docker run --name=admin -p 9090:8080 -d 2d58e05bfe2a
在这里插入图片描述

需要读一些参考资料
https://www.cnblogs.com/bethal/p/5942369.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值