1. 防火墙命令
systemctl status firewalld 查看防火墙状态
systemctl start firewalld 启动防火墙
systemctl stop firewalld 启动防火墙
firewall-cmd --reload 重启防火墙
systemctl enable firewalld 开机启动防火墙
systemctl disable firewalld 禁止防火墙开机启动
firewall-cmd --list-ports 查看已经开放的端口
firewall-cmd --zone=public --add-port=80/tcp --permanent #添加端口(--permanent表示永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --query-port=80/tcp #查看防火墙80端口
firewall -cmd --zone=public --remove-port=80/tcp --permanent #删除防火墙80端
2. 启动和停止docker服务
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker 开机自动启动docker
docker version docker版本
docker --help
docker info 查看docker概要信息
3. 镜像基本命令
docker images
docker images -q 只显示镜像ID
docker search [options]镜像名称
docker search centos
docker search -s 100 centos 列出关注度大于100的centos -s表示受关注的数量
docker pull 镜像名:标签名
docker pull mysql:5.6
docker pull mysql会拉去最新版本
docker rmi 镜像ID
docker rmi 'docker images -q' 批量删除所有镜像
4. 容器基本命令
docker ps 查看正在运行的容器
docker ps -a 查看所有容器
docker ps -l 查看最后一次运行的容器
docker ps -f status=exited 查看停止的容器
docker run -it --name=mycentos cetnos:7 /bin/bash 交互式容器
docker run -id --name=mycentos centos:7 /bin/bash 守护式容器
exit退出容器
docker start 容器名称|容器ID 启动容器
docker start 'docker ps -a -p' 启动所有的容器
docker stop 容器名称|容器ID 停止容器
docker kill 容器名称|容器ID 强制停止正在运行的容器
docker stop 'docker ps -a -q' 停止所有在运行的容器
docker exec -it 容器名称|容器ID /bin/bash 登陆已经启动的容器
exit
docker cp 要拷贝的宿主机文件或目录 容器名称:容器文件或目录 宿主机到容器
docker cp 容器名称:要拷贝的容器文件或目录 宿主机文件或目录 容器到宿主机
docker run -id -v /宿主机绝对路径目录:/容器内目录 --name=容器名 镜像名 目录挂载
实现挂载的目录只有 制度权限
docker run -id -v /宿主机绝对路径目录:/容器内目录:ro --name=容器名 镜像名
docker inspect mycentos 查看容器细节
docker inspect --format='{{.NetworkSettins.IPAddress}}' mycentos2
docker rm 容器名称|容器ID
docker rm 'docker ps -a -q' 删除所有容器
docker logs -f -t --tail 100 容器名称|容器ID
docker stop $(docker ps -a -q) stop停止所有容器
docker rm $(docker ps -a -q) remove删除所有容器
5. 创建常用容器
docker run -id --name=tomcattest -p 8080:8080 -v /opt:/usr/local/tomcat/webapps --privileged=true tomcat:8
--privileged 如果式映射的是多级目录,防止有可能会出现没有权限问题。
docker run -id --name=mysqltest -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
-e 添加环境变量
6. 容器打包与转移
docker commit -m=‘描述’ -a='作者' 容器名称|容器ID 取的镜像名称:自定义版本
docker commit -m='i do' -a='tbl' mytomcat mytomcattest:1.1 将容器打包成镜像
docker inspect --format='{{.Mounts}} 容器名称 查看容器是否有挂载
docker save -0 mycentos.tar mycentostest:1.0 将镜像打包
docker load -i mycentos.tar 解压镜像
7. Dockerfile例子
镜像文件编写
#来自基础镜像
FROM centos:7
#指定镜像创建者信息
MAINTAINER limingxing
#切换工作目录 /usr/local
WORKDIR /usr/local
#创建一个存放jdk的路径
RUN mkdir /usr/local/java
#将jdk压缩包复制并解压到容器中/usr/local/java
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
CMD ["/bin/bash"]
docker build [Dockerfile文件所在目录] -t 生成的镜像名:标签名
如果雷同侵权,请联系,及时删除。