Docker容器的一些简单使用命令

启动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


目前就整理这么多,后续学到了继续整理

猜你喜欢

转载自blog.csdn.net/a1085578081/article/details/100689165