Docker

1、安装

参考:Windows10下的docker安装与入门 (一)使用docker toolbox安装docker - 向日葵的祈愿 - 博客园 (cnblogs.com)

 1.1下载

Docker Desktop release notes | Docker Docs

Docker_第1张图片

1.2测试

安装完毕后

Docker_第2张图片

 1.3 镜像配置

增加镜像

Docker_第3张图片

  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn/",
    "https://hub-mirror.c.163.com/"
  ]

1.4镜像下载

下载centos镜像等操作,参考这个博客

Docker-desktop(Docker桌面版)——入门篇_docker desktop-CSDN博客

 Docker_第4张图片

NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。 

拉取镜像 

docker pull centos
【docker pull 环境】默认是下载latest最新的版本,也可以用【docker pull 环境:版本号】下载指定版本,例如【docker pull mysql:5.7】

Docker_第5张图片

查看镜像

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: 绑定一个卷

 

 Docker_第6张图片

我们知道,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终端,使用`\`换行即可。

你可能感兴趣的:(Docker,docker,容器)