首先看个bug
当编辑完daemon.json后
vim /etc/docker/daemon.json
准备systemctl start docker.service启动docker时报以下错误:
systemctl status docker.service
解决方法:
1.防火墙和selinux都关了
2.修改/etc/docker/daemon.json这个文件(粘贴复制自己的加速镜像地址,别多逗号)
{
"registry-mirrors": ["https://i3agy04j.mirror.aliyuncs.com"]
}
3.重新加载配置文件
systemctl daemon-reload
4. 重启docker
systemctl restart docker
再不行,就重新卸载docker再安装
卸载和安装流程见上文,这里就不演示了
Docker常用操作
列出本地镜像
docker images
REPOSITORY:来自哪一个仓库,比如ubuntu仓库
TAG:镜像的标签信息,最新的
镜像的id号:这个是唯一的
镜像创建时间
镜像大小
Docker 安装 Tomcat
获取镜像
docker pull tomcat:8
latest,笔误,哈哈
运行拉取的容器
docker run --name mytomcat8 -d -p 7777:8080 34d28186c789
查看开启的端口
firewall-cmd --list-all
放行7777端口
firewall-cmd --zone=public --add-port=7777/tcp --permanent
重启防火墙
firewall-cmd --reload
查看开启的端口
firewall-cmd --list-all
查看所有的容器
docker container ps
查看容器的日志
docker logs mytomcat8
测试tomcat能否访问
http://192.168.75.163:7777/
这里出现404错误,非常奇怪,按道理应该可以访问了.我这里检查完服务器端口7777已经开放了,接下来,我们进入tomcat的目录:
进入容器
docker container exec -it mytomcat8 /bin/bash
进入正在运行的容器并且开启交互模式终端 /bin/bash是固有写法,作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动 bash。 也可以用docker exec在运行中的容器执行命令
然后查看到里面发现有webapps和webapps.dist两个文件,而wenapps里面没有东西,webapps.dist才是我们要的东西
所以这里把webapps删掉
rm -rf webapps
把webapps.dist改名为webapps
mv webapps.dist webapps
改完之后,我们再重新访问:
http://192.168.75.163:7777/
可以看到,生效了
退出容器
exit
下面我们再用这个镜像跑一个tomcat容器
docker run --name tomcat2 -d -p 7778:8080 34d28186c789