启动Docker服务:
systemctl start docker.service
停止Docker服务:
systemctl stop docker.service
重启Docker服务:
systemctl restart docker.service
查看Docker状态:
systemctl status docker.service
查看容器日志:
docker logs 容器id/容器名
eg:docker logs egomp
从Docker仓库拉取镜像
docker pull {镜像路径}
(以how2j上面一个仓库为例就是:docker pull how2j/tmall)
用Dockerfile创建容器
docker build -t {容器名}:{版本号} {Dockerfile的父路径}
例如:
docker build -t erge:latest /home/project/erge/
运行镜像
docker run -dit --privileged -p21:21 -p80:80 -p8080:8080 -p30000-30010:30000-30010 --name how2jtmall how2j/tmall:latest /usr/sbin/init
docker run 表示运行一个镜像
-dit 是 -d -i -t 的缩写。 -d ,表示 detach,即在后台运行。 -i 表示提供交互接口,这样才可以通过 docker 和 跑起来的操作系统交互。 -t 表示提供一个 tty (伪终端),与 -i 配合就可以通过 ssh 工具连接到 这个容器里面去了
--privileged 启动容器的时候,把权限带进去。 这样才可以在容器里进行完整的操作
-p21:21 第一个21,表示在CentOS 上开放21端口。 第二个21 表示在容器里开放21端口。 这样当访问CentOS 的21端口的时候,就会间接地访问到容器里了
-p80:80 和 21一个道理
-p8080:8080 和21 一个道理,在本例里,访问的地址是 http://192.168.84.128:8080/tmall/, 这个 192.168.84.128 是CentOS 的ip地址,8080是 CentOS 的端口,但是通过-p8080:8080 这么一映射,就访问到容器里的8080端口上的 tomcat了
-p30000-30010 和21也是一个道理,这个是ftp用来传输数据的
--name how2jtmall 给容器取了个名字,叫做 how2jtmall,方便后续管理
how2j/tmall:latest how2j/tmall就是镜像的名称, latest是版本号,即最新版本
/usr/sbin/init: 表示启动后运行的程序,即通过这个命令做初始化(摘自how2j)
进入容器:
docker exec -it 容器ID /bin/bash
如:docker exec -it how2jtmall /bin/bash(这边的ID应该是上面运行镜像取的名字)
退出容器:Ctrl+P+Q
查看本地镜像:
docker images
删除本地镜像:
docker rmi {REPOSITORY}:{TAG}
如:docker rmi docker.io/tomcat:8.0
删除所有镜像:
docker rmi $(docker images -q)
对镜像进行标记:
docker tag {原来的REPOSITORY}:{原来的TAG} {新的REPOSITORY}:{新的TAG}
把容器转换为镜像:
docker commit {容器ID} {容器ID}:{版本号}
如:docker commit how2jtmall how2j/tmall:now
查询容器:
docker ps
删除容器:
docker rm {容器ID}
如:docker rm how2jtmall
目前就整理这么多,后续学到了继续整理