docker从安装到入门(centos7连不上网)
我们安装好centos7之后,只用网络链接的NAT模式,主机有网你就有网,傻瓜式链接。但是发现ping不通百度。。
通过ifconfig -a发现ens33没有ip,虽然和这个没关系,因为用的是NAT模式。我们编辑vi /etc/sysconfig/network-scripts/ifcfg-ens33
将onboot设置为true即可。
连接后 我们按网络上的教程。
uname -r看是否版本足够
yum update更新版本
yum install -y docker-io安装
systemctl start docker.service启动服务
我们安装好之后,如何使用呢。
client是docker客户端。
images是docker镜像
containers是容器
registry是集中存储分发镜像的服务。最常用的Docker Registry是官方的Docker Hub
通过docker images来查看我们有哪些镜像。
一个没有。。我们可以去下载(docker hub),或者自己打包
1.下载:docker pull centos
2.打包需要通过dockerfile来自动编译生成镜像。新建dockerfile文本文件,将打包好的war放在一起。内容如下:
FROM:基于哪个镜像,你需要有一个参照的 标准镜像。
VOLUME:可以将本地文件夹或者其他container的文件夹挂载到container中
ADD:将文件<src>拷贝到container的文件系统对应的路径<dest>
RUN:RUN命令将在当前image中执行任意合法命令并提交执行结果。命令执行提交后,就会自动执行Dockerfile中的下一个指令
ENTRYPOINT:container启动时执行的命令,但是一个Dockerfile中只能有一条ENTRYPOINT命令,如果多条,则只执行最后一条
我们需要cd到jar的目录下运行
3.docker使用dockerfile打包命令 docker build -t wechat . 最后有个点
docker容器就成成了,可以用docker images来查看。。这就相当于一个运行环境。。
4.通过docker run -d -p 8080:8080 wechat 来运行
docker run --name {容器名} -p {宿主机端口}:{docker端口} –v {宿主机目录}:{docker日志目录} -d {镜像ID:latest}
注意:这里我使用的centos,发现莫名其妙启动不了。
原因就是:Docker容器后台运行,就必须有一个前台进程。主线程结束,容器会退出。
docker run -d -p wechat 改成 docker -dit -p wechat 就行了。
使用docker stop $(docker ps -a -1) 停止所有的容器。
用docker rmi <image id>来删除容器,,我发现删不掉、、官方文档说,只能删除未使用的。。
使用docker rmi -f 来强制删除。、。、
docker rm $(docker ps -qf status=exited) 删除已经停掉的容器。
5.打包jar还是war都需要jdk运行环境,运行jar失败,查看日志发现是没有jdk
先打包一个jdk得容器然后根据该容器进行构造环境。
需要一个jdk得tar.gz然后编写dockerfile
同上面打包,然后运行
docker run -d -it jdk1.8docker:20180730 /bin/bash
注意:创建容器的时候一定要使用 -it /bin/bash这种方式,要不然jdk的容器起不来
vim保存只读文件 :w !sudo tee %