运行docker容器以及进入容器shell界面
docker run -d -p 80:80 -p 3306:3306 -v /home/zhaoxizhe/gitcode:/var/www/html --name hophp zhaoxizhe/ho-php nginx -g "daemon off;"
docker exec -it hophp /bin/bash
基于docker file构建镜像的命令
docker build --no-cache -t="zhaoxizhe/ho-php" .
docker file示例
# Version: 0.0.1
FROM ubuntu:18.04
MAINTAINER Zhao Xizhe "zhaoxizhe@hello-orange.com"
RUN apt-get update
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get install -y apt-utils
RUN apt-get install -y nginx
RUN apt-get install -y php7.2
RUN apt-get install -y php7.2-fpm
RUN apt-get install -y mysql-server mysql-client
RUN apt-get install -y php7.2-mysql
RUN apt-get install -y php7.2-gd php7.2-mbstring php7.2-xml php7.2-zip
RUN apt-get install -y composer
RUN apt-get install -y vim
RUN apt-get --purge remove apache2
RUN apt autoremove
RUN service php-fpm7.2 start
EXPOSE 80
EXPOSE 3306
基于正在运行的容器来构建新的docker镜像
docker commit -m="here is commit message" --author="Zhao Xizhe" container_id zhaoxizhe/ho-php:php-web-server
docker push zhaoxizhe/ho-php
查看类命令
docker ps -l
docker inspect
docker logs container_name
docker loging failed problem
sudo mv /usr/bin/docker-credential-secretservice /usr/bin/docker-credential-secretservice_x
让docker直接在后台驻留运行
docker run -itd --name test ubuntu:18.04
参考文档
Dockerfile | https://docs.docker.com/engine/reference/builder/
查看容器的volume映射
docker inspect container_name | grep Mounts -A 20
清理docker的磁盘占用
注意以下两个命令会把暂时关闭的容器、暂时没有用到的镜像也删除掉,谨慎使用
docker system prune //命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。 docker system prune -a //命令清理得更加彻底,可以将没有容器使用的Docker镜像都删掉
Docker镜像的导入导出
docker save -o file_name.tar image_name //导出指定镜像到某个文件
docker load -i file_name.tar //从某个文件导入镜像