Docker常用命令
查看现有镜像
docker images
查询所需镜像
docker search nginx
获取镜像
docker pull 镜像:TAG
重命名镜像
docker tag 镜像id 镜像:TAG
导出镜像
docker save f6 -o nginx-image.tar(windows)
导入镜像
docker load -i nginx-image.tar
删除镜像
docker rmi nginx(或者id)
更新镜像
更新镜像之前,需先创建一个容器
docker run -it nginx:latest(容器名称:容器标签) /bin/bash
然后执行,更新容器
apt-get update
提交容器副本
docker commit -m="has update" -a="monster" c1cab54a74e5 my/nginx:v2
-m:提交的信息
-a:镜像的作者
c1cab54a74e5:容器id
my/nginx:v2 :指定创建的目标镜像名称和容器标签
运行容器
docker run --name nginx-test -p 8001:80 -d nginx
-name nginx-test:容器名称
-p 8001:80:端口映射,将本地的8001端口映射到容器内部的80端口
-d nginx:设置容器在后台一直运行
查看运行的容器
docker ps -a
启动容器
docker start e6a66deff6e5 (容器id,可以不写全,自动会搜索)
停止容器
docker stop e6a66deff6e5(容器id,可以不写全,自动会搜索)
重启容器
docker restart e6a66deff6e5(容器id,可以不写全,自动会搜索)
查看容器内部运行的进程
docker top e6a66deff6e5i
检查WEB应用程序
docker inspect e6a66deff6e5i
进入容器
docker run -itd --privileged=true --name s3fd-v2 -net (net-test 默认bridge) -p 8080:8080 03f6b13a5450 /sbin/init
运行容器
docker attach e6a66deff6e5(容器id,可以不写全,自动会搜索,已过时)
此方法退出容器,会导致容器的停止
Docker exec:推荐使用此命令,因为此退出容器终端,不会导致容器的停止
docker exec -it e6a66deff6e5 /bin/bash
docker run -t -I nginx:latest(容器名称:容器标签) /bin/bash
此方法退出容器,会导致容器的停止
导出容器
docker export e6a66deff6e5 > nginx.tar
导入容器
docker import nginx.tar
删除容器
docker rm -f e6a66deff6e5
网络端口映射
docker run -d -P training/webapp python app.py
docker run -d -p 5000:5000 training/webapp python app.py
docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2210ea93b2a7 training/webapp "python app.py" 18 seconds ago Up 18 seconds 5000/tcp, 127.0.0.1:5000->5000/udp kind_meninsky
5424a5e87158 training/webapp "python app.py" 2 minutes ago Up 2 minutes 127.0.0.1:5001->5000/tcp great_bell
0d28bc1fc825 training/webapp "python app.py" 3 minutes ago Up 3 minutes 0.0.0.0:5000->5000/tcp distracted_heyrovsky
cc4fc8dd9ca8 training/webapp "python app.py" 5 minutes ago Up 5 minutes 0.0.0.0:49153->5000/tcp gracious_bose
docker port great_bell 5000
**:127.0.0.1:5001
复制文件到docker里面
docker cp d:/docker/NginxTest.war ngtest:/usr/local/tomcat/webapps/NginxTest.war
镜像内操作
安装更新
apt update
安装软件
apt install vim
安装 ping
apt install iputils-ping
apt-get install inetutils-ping
安装ifconfg
Apt inatll net-tools
容器互连
查看容器的网络链路
docker network ls
Tomcat连接Mysql
1. 先启动一个mysql服务(mysql)
2. 然后启动tomcat
docker run -d -p 8098:8080 --name 8098 --link mysql:tomysql tomcat:8098
- tomysql 连接的名称
3.web应用内部配置的mysql地址要改成 mysql服务的地址,如不过不是同一台服务器,则不能用localhost