基础步骤

1、准备工作

- 1.查看已有镜像
| docker images       
| docker images -aq   // 已经是查看本地镜像,-aq查所有的id

— 2.查启动过的容器
| docker ps          // 查看启动中的容器,没有
| docker ps -a       // 查看历史启动的容器,没有

2、查找镜像

docker search 镜像名    
docker search mysql          // 查找mysql镜像

docker search 镜像名:tag
docker search mysql:5.7      // 查找5.7版本mysql

# 其实最好的方式是去官网查找

镜像怎么看 镜像怎么看自己_docker


镜像怎么看 镜像怎么看自己_docker_02

3、下载镜像

docker pull mysql:5.7     // 不写那么详细了,直接下载5.7版本mysql

# 把一个或一组功能封装进去,就是一层
# 图中每个pull comolete 就是一层下载完成

镜像怎么看 镜像怎么看自己_镜像怎么看_03

4、启动容器

docker images                // 已经有mysql5.7的镜像了,可以启动容器了
docker run -it mysql:5.7     // 要注意,启动要加tag,否则会去下载lastest版

# 启动依旧失败,因为需要设置多个可选项,先玩玩nginx

docker pull nginx                                 //默认下载最后版本
docker run -d -it --name nginx01 -p 3344:80 nginx
| -d 后台运行;
| --name 给容器起名,既nginx01;
| -p 主机端口:容器端口,映射关系;
| 启动镜像nginx

- 用 curl localhost:3344 查看nginx的测试页就行 (使用elinks命令吧?)

镜像怎么看 镜像怎么看自己_5e_04

5、停止、删除容器,删除镜像

docker ps                   // 查看运行中的容器
docker stop 容器id          // 停止容器
docker rm -f 容器id         // 删除容器
docker images               // 查看镜像
docker rmi 镜像id           // 删除镜像

# 补充 
docker stop/rm $(docker ps -qa)    // 关闭/删除所有容器
docker rmi $(docker images -qa)    // 删除所有镜像

镜像怎么看 镜像怎么看自己_镜像怎么看_05


 

Tomcat操作

[root@wg ~]# docker search tomcat
INDEX       NAME                 DESCRIPTION                                  
docker.io   docker.io/tomcat     Apache Tomcat is an open source imp...

[root@wg ~]# docker pull docker.io/tomcat
[root@wg ~]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED       SIZE
docker.io/tomcat  latest    413407dddb5e   6 days ago    680 MB
docker.io/centos  7         eeb6ee3f44bd   4 months ago  204 MB

[root@wg ~]# docker run -itd -p 3355:8080 --name tomcat01 docker.io/tomcat
a5e37c55a35d8c484cb0899276290131bda94a3d06b43a5139f9352a2cd5c62d

[root@wg ~]# docker ps
CONTAINER ID  IMAGE             STATUS        PORTS                   NAMES
a5e37c55a35d  docker.io/tomcat  Up 4 seconds  0.0.0.0:3355->8080/tcp  tomcat01

[root@wg ~]# docker exec -it tomcat01 /bin/bash
root@a5e37c55a35d:/usr/local/tomcat# 

root@a5e37c55a35d:/usr/local/tomcat# ls
BUILDING.txt     NOTICE         RUNNING.txt  lib             temp          work
CONTRIBUTING.md  README.md      bin          logs            webapps
LICENSE          RELEASE-NOTES  conf         native-jni-lib  webapps.dist

root@a5e37c55a35d:/usr/local/tomcat# cd webapps.dist
root@a5e37c55a35d:/usr/local/tomcat/webapps.dist# ls
ROOT  docs  examples  host-manager  manager

root@a5e37c55a35d:/usr/local/tomcat/webapps.dist# cp -r * ../webapps/
root@a5e37c55a35d:/usr/local/tomcat/webapps.dist# exit

[root@wg ~]# curl localhost:3355    // elinks费劲,curl慢,直接网页

- 1.启动容器后,被踢出;ps查询启动成功,容器存在
- 2.exec登入容器,用id和名称都可以:
| 2.1 exec是新开启一个进程;attach是进入旧进程
| 2.2 exec需要-it /bin/bash;attach不需要
| 2.3 exec登出后容器还运行;attach登出后容器不运行

- 3.不写/bin/bash的话会报错,无法登录
- 4.镜像一般是阉割的,这里webapps中没有配置文件
- 5.需要把webapps.dist中的配置文件放入到webapps中

镜像怎么看 镜像怎么看自己_docker_06


 

可视化工具portainer

- 这个工具不推荐使用,主要俩目的
| 1.了解-v
| 2.见识下可视化

docker run -d -p 8000:8000 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock \
--privileged=true -v portainer_data:/data portainer/portainer:latest
| 1.-v就是挂载到本地机
| 2.没下载,直接运行就能下载
| 3.命令可以简化为如下
| 4.很显然,下载的镜像的名字是 portainer/portainer

docker run -d -p 8088:9000 portainer/portainer

curl localhost:8088     // 看起来费劲,最好还是通过网页直接访问比较好
elink localhost:8088    // 应该是这个,回头实操一遍再

docker run -d -p 8100:8000 -p 9100:9000 --name portainer1.184 --privileged=true \
-v /run/docker.sock:/var/run/docker.sock --privileged=true 6053537/portainer-ce