Docker的三个名词
镜像:类似与虚拟机的镜像,用来创建相应容器。
仓库:存放各种镜像的地方。
容器:由镜像创建的,运行程序的环境。
镜像和容器的关系
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
镜像的相关操作
(1)从网易镜像库中拉取docker镜像
docker pull hub.c.163.com/library/nginx:latest
(2)查看本机镜像
docker images
(3)运行镜像
前台运行镜像:
docker run 镜像名
后台运行镜像并指定端口映射:
docker run -d -p 8080:80 容器名
-d为后台运行
-p 8080:80 8080为主机端口 80为容器端口
需要注意
每次执行docker run命令,Docker都会新建一个新的容器。
容器的相关操作
(1)显示容器
列出当前运行的所有容器 docker ps
列出所有的容器 docker ps -a
(2)启动一个未运行的容器
docker start 容器名/ID
(3)进入一个正在后台运行的容器(命令行)
docker exec -it 容器名/ID bash|sh
-i 交互式
-t 临时终端
万能退出命令 exit
(3)关闭一个运行的容器
docker stop 容器名/ID
制作自己的镜像
(1)编写相关的Dockerfile文件
这里以一个网站项目的镜像为例(即将项目war包放在webapps下)
//依赖的tomcat镜像
from hub.c.163.com/library/tomcat
MAINTAINER 姓名 邮箱
//将你的项目test.war放到webapps下
COPY test.war /usr/local/tomcat/webapps
(2)构建Dockerfile文件
//test 镜像名
//latest 标签名
// . 当前路径
docker build -t test:latest .
还有一些问题
(1)当发现3306端口占用时,一般是本地数据库占用了相关端口
关闭mysql数据库 service mysql stop
(2)查看特定端口的状态(8080)
netstat -na|grep 8080
(3)查看软件位置(mysql)
which mysql
(4)Docker容器中安装vim等软件
1>apt-get update 更新软件源
2>apt-get install vim 下载vim
(5)删除Docker中的镜像
首先需要删除该镜像创建的所有相关容器,然后才可以删除该镜像
1>docker rm 容器名/ID 删除相关容器
2>docker rmi 镜像名/ID 删除相关镜像
(6)查看某个命令的参数(docker run)
docker run --help