1、安装
参考:Windows10下的docker安装与入门 (一)使用docker toolbox安装docker - 向日葵的祈愿 - 博客园 (cnblogs.com)
1.1下载
Docker Desktop release notes | Docker Docs
1.2测试
安装完毕后
1.3 镜像配置
增加镜像
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn/",
"https://hub-mirror.c.163.com/"
]
1.4镜像下载
下载centos镜像等操作,参考这个博客
Docker-desktop(Docker桌面版)——入门篇_docker desktop-CSDN博客
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。
拉取镜像
docker pull centos
【docker pull 环境】默认是下载latest最新的版本,也可以用【docker pull 环境:版本号】下载指定版本,例如【docker pull mysql:5.7】
查看镜像
docker images
查看所有现有已经拉去下载的镜像
镜像中创建容器
docker run -it centos
使用指定镜像创建一个新的容器语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–name=“nginx-lb”: 为容器指定一个名称;
–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=“ritchie”: 设置环境变量;
–env-file=[]: 从指定文件读入环境变量;
–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
–link=[]: 添加链接到另一个容器;
–expose=[]: 开放一个端口或一组端口;
–volume , -v: 绑定一个卷
我们知道,tomcat 首页要能够访问,webapps 下要有内容,现在 webapps 下面是空。
这是因为,新版的 tomcat 把一些静态资源,放置到 webapps.dist 目录下。
所以,我们需要把空的 webapps 删除掉,然后把 webapps.dist 目录替换成 webapps。
查看镜像
docker images
查看启动的容器
docker ps
查看所有容器
docker ps -a
查看镜像
docker search tomcat
拉取镜像
docker pull tomcat
新建并运行一个容器 -d是后台运行
docker run --name mytomcat001 -p 8080:8080 -d tomcat
启动容器
docker start 容器ID
关闭容器
docker stop 容器ID
启动容器后,进入到相关目录
docker exec -it 容器ID /bin/bash
退出容器
exit
怎么向容器中上传文件
方案一:复制本地文件、文件夹到容器中
docker cp "C:\Program Files\apache-tomcat-9.0.84\webapps" 75895fe48665:/usr/local/tomcat
方案二:通过数据卷挂载
docker run -it -v "C:/Program Files/apache-tomcat-9.0.84/webapps":/usr/local/tomcat/webapps -p 8080:8080 --name my_tomcat_container tomcat
这样容器中的webapps就有了本地的数据了,然后再把webapps.dist删了(不删也能运行8080以及http://localhost:8080/Cesium_WMTS/)
已经测过,这有一个特点:你在容器里新增或者删除一个文件,本地都执行相同的操作
你在本地新增或者删除,容器也是执行相同的操作
你可以使用反斜杠 `\` 来将长命令分行,以提高可读性。确保反斜杠 `\` 是在命令的末尾,而不是行尾的空格后面。
以下是你提供的命令换行后的示例:
```bash
docker run -it -v "C:/Program Files/apache-tomcat-9.0.84/webapps":/usr/local/tomcat/webapps \
-p 8080:8080 --name my_tomcat_container tomcat
```
注意,在Windows命令提示符(cmd)中,可以使用`^`来换行:
```bash
docker run -it -v "C:/Program Files/apache-tomcat-9.0.84/webapps":/usr/local/tomcat/webapps ^
-p 8080:8080 --name my_tomcat_container tomcat
```
在Linux或macOS终端,使用`\`换行即可。