docker入门

docker / 2023-02-09
0 1,026

容器操作

7.启动容器:docker run --name 自定义容器名字 -d(后台运行) 容器名字:tag -p本地端口:容器内部的端口

eg:docker run --name mytomcat -d tomcat:latest -p8080:8080

8.docker ps :查看运行中的容器

9.docker ps -a:查看所有容器

10.停止/启动容器:docker stop/start 容器id/容器自定义名字

11.删除容器:docker rm 容器id

12.查看容器日志:docker logs 容器id/容器名字

13.启动mysql:docker run --name mysql02 -d -p3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --lower_case_table_names=1(不区分表名大小写)

提交容器
docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2

流程:
1.安装好docker
2.获取想要的镜像
3.拉取想要的容器
4.启动容器


问题:
1.安装好tomcat之后,端口也开放了,映射也做好了,但是在网页上就是访问不到tomcat主页。

原因:
tomcat中的webapps的东西都放在了webapps.list中去了。
这是docker中的tomcat的文件夹

root@7872b90e9373:/usr/local/tomcat# ls -l
total 124
-rw-r--r--. 1 root root 18982 Jun 30 20:14 BUILDING.txt
-rw-r--r--. 1 root root  5409 Jun 30 20:14 CONTRIBUTING.md
-rw-r--r--. 1 root root 57092 Jun 30 20:14 LICENSE
-rw-r--r--. 1 root root  2333 Jun 30 20:14 NOTICE
-rw-r--r--. 1 root root  3255 Jun 30 20:14 README.md
-rw-r--r--. 1 root root  6898 Jun 30 20:14 RELEASE-NOTES
-rw-r--r--. 1 root root 16262 Jun 30 20:14 RUNNING.txt
drwxr-xr-x. 2 root root  4096 Jul  6 21:28 bin
drwxr-xr-x. 1 root root    22 Jul 10 12:49 conf
drwxr-xr-x. 2 root root  4096 Jul  6 21:27 lib
drwxrwxrwx. 1 root root   177 Jul 10 12:49 logs
drwxr-xr-x. 2 root root   134 Jul  6 21:28 native-jni-lib
drwxrwxrwx. 2 root root    30 Jul  6 21:27 temp
drwxr-xr-x. 2 root root     6 Jul  6 21:27 webapps
drwxr-xr-x. 7 root root    81 Jun 30 20:12 webapps.dist
drwxrwxrwx. 2 root root     6 Jun 30 20:09 work

默认的webapps下是没有文件的,全部的东西都放在了webapps.dist文件夹中。解决办法也很简单,把webapps.dist改名成webapps就行了。

解决办法:

# 进入tomcat的bash文件
docker exec -it 你的tomcatId /bin/bash
# 查看文件内容
ls -l
# 修改webapps名字为webapps2
mv webapps webapps2
# 将webapps.dist名字修改为webapps
mv webapps.dist webapps
# 退出
exit

进入tomcat容器:

[root@localhost mr]# sudo docker exec -it tomcat对应的id bash
root@df32d1aa345c:/usr/local/tomcat# pwd
/usr/local/tomcat

docker传文件到容器内部:
docker cp 外部文件路径 容器名:内部路径

linux中修改名字:
mv 原名 新名

开启端口:

firewall-cmd --zone=public --add-port=80/tcp --permanent