docker常用操作

运行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
 容器内开启https:
1、宿主机开启https
2、宿主机的证书拷贝到容器内
3、以同样的方式开启https
就可以了
 

参考文档

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 //从某个文件导入镜像

原文地址:https://www.cnblogs.com/zhaoxizhe/p/11827525.html