1. docker 常用命令
1. 构建容器,Dockerfile文件要在当前路径
//格式:docker build -t {$container_name:tag} {$Dockerfile文件路径}
docker build -t youren-php:1.1 .
2. 启动容器
//格式:docker run --name=容器名称 -td imageid /usr/sbin/init
docker run --name=php --privileged=true -td f1cb7c7d58b7 /usr/sbin/init
#--name=php 指定容器名称为php
#--privileged=true 以特权模式运行容器
#-td : -i 交互式 -t 分配伪终端 -d后台运行
#imageid 要启动容器的images的id
3. 查看容器
docker ps # -a查看所有容器,包括已退出容器
4. 查看镜像
docker images
5. 进入容器
docker exec -it {$container_id} bash
6. 文件复制/导入
docker cp /root/123.txt {$container_id}:/root/123.txt
docker cp {$container_id}:/root/123.txt /root/123.txt
7. 删除容器,镜像
docker rm {$container_id} #删除容器
docker rmi {$images_id} #删除镜像
8. 容器日志
docker logs {$container_id}
docker logs -t --tail=100 {$container_id} #容器后100行日志,-f持续输出
9.停止(启动/重启)容器
docker stop(start/restart) {$container_id}
10. 打包镜像文件
docker save -o [$xxx.tar] [$镜像名称]:[$镜像tag]
11. 拉取/上传镜像
docker pull(push) [$镜像名称]:[$镜像tag]
12. 杀死正在运行的容器
docker kill [$docker_id]
13. 显示一个容器的实时资源占用
docker stats [$docker_id]
14. 暂停容器内所有进程
docker pause [$docker_id]
15. 恢复容器内被所有暂停的进程
docker unpause [$docker_id]
16. 查看docker系统信息
docker info
2. Dockerfile
1. 选择使用镜像
FROM centos:7.6.1810
2. 拷贝文件,被拷贝文件以当前目录为基础,不支持绝对路径
COPY install_php.sh /root/install_php.sh
3. 容器内运行命令
RUN ["/root/install_php.sh"]
4. 监听端口
EXPOSE 9000/tcp
5. 设置工作目录
WORKDIR /home/admin/php/
6. 设置环境变量
ENV RVM_PATH /home/xxx
7. 指定用户运行容器
USER admin
8. 指定容器运行时执行的命令
CMD ["/bin/true"] #多个cmd的同时,只有最后一个cmd生效