docker 基本操作

镜像操作: # docker info 查看docker信息 # docker login docker.io 登录仓库 # docker search alpine 搜索镜像alpine # docker pull alpine 拉取镜像alpine,也可以下载指定版本 # docker image ls 列出本地镜像 # docker tag 6dbb9cc54074 docker.io/dyj46/alpine:latest 给镜像打标签 # docker push dokcer.io/dyj46/alpine 推送镜像 # docker rmi dokcer/dyj46/alpine 删除镜像 # docker rmi -f 6dbb9cc54074 前置删除镜像   容器操作: # docker ps -a 查看docker 进程信息 # docker run -it dyj46/alpine:latest /bin/sh 启动镜像   运行容器,退出时可用docker ps -a 查询到 # docker run -it dyj46/alpine:latest /bin/sh   运行容器,退出时docker ps -a 查询不到,一次性运行容器 # docker run --rm dyj46/alpine:latest /bin/sh   非交互式运行容器 # docker run -d dyj46/alpine:latest /bin/sleep 300 交互式方式进入容器终端 # docker exec -it 8ed041ecb6b2 /bin/sh   启停容器 # docker stop 8ed041ecb6b2 # docker start 8ed041ecb6b2 # docker restart 8ed041ecb6b2   删除容器 #docker rm 8ed041ecb6b2 批量删除退出容器 # for i in `docker ps -a |grep -i exit | awk '{print $1}'`; do docker rm -f $i;done   提交容器生产镜像,可以将内容写道容器中 # docker commit -p sleepy_brattain dyj46/alpine:v1.0_with_1.txt   导入导出镜像: 导出镜像: # docker save 0d8315764293 > alpine:v1.0_with_1.txt.tar 导入: # docker load < alpine:v1.0_with_1.txt.tar # docker tag 0d8315764293 dyj46/alpine:v1.0_with_1.txt 添加标签   查看容器日志: # docker run hello-world 2>&1 > /dev/null # docker logs e20c910cd5cb   docker 容器高级操作: 映射端口: # docker search nginx # docker pull nginx # docker tag 62d49f9bab67 dyj46/nginx:v20.1 # docker run --rm --name mynginx -d -p81:80 dyj46/nginx:v20.1 登录:http://192.168.217.140:81/   挂载数据卷: # mkdir html 把/root/html 挂载到容器的/usr/share/nginx/html目录上 # docker run -d --rm --name nginx_with_baidu -p8080:80 -v/root/html:/usr/share/nginx/html dyj46/nginx:v20.1   传递环境变量:-e +键值对 # docker run --rm -e E_OPTS=abcdef dyj46/alpine:latest printenv # docker run --rm -e E_OPTS=abcdef -e D_OPTS=123456 dyj46/alpine:latest printenv 传递多个   容器内安装工具:(yum/apt-get/apt) # docker exec -it nginx_with_baidu /bin/bash # tee /etc/apt/source.list << EOF deb http://mirrors.163.com/debian jessie main non-free contrib deb http://mirrors.163.com/debian jessie update non-free contrib EOF # apt-get update # apt-get -y install curl   # docker commit -p 4c68ba0d18a6 dyj46/nginx:curl 提交容器 # docker push dyj46/nginx:curl 将容器推送到公网   dockerfile:构建docker镜像的源码 Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令 格式: #为注释 指令(大写),内容(小写) 第一个非注释指令必须是"FROM" 四组核心指令: USER/WORKDIR ADD/EXPOSE RUN/ENV CMD/ENTRYPOINT   构建Dockerfile # vi Dockerfile FROM docker.io/dyj46/nginx:v20.1 #镜像名称 USER nginx #init进程的用户 WORKDIR /usr/share/nginx/html #工作目录   生成镜像 # docker build . -t docker.io/dyj46/nginx:v20.1_with_user_workdir

上一篇:Alpine Linux常用命令


下一篇:玩转alpine linux(目录)