docker学习笔记

#############################docker常用命令################################
yum install docker-ce-17.12.1.ce 安装docker
systemctl start docker 启动docker systemctl enable docker 加入开机启动
docker version 查看docker版本号
service docker start 启动docker服务
docker images 查看当前系统存在docker镜像
docker --help 查看docker帮助命令
docker image --help 查看docker image 帮助命令
docker pull luhn/gunicorn-proxy 从docker hub镜像仓库拉取镜像
docker image rm luhn/gunicorn-proxy 删除镜像
docker rmi luhn/gunicorn-proxy 删除镜
docker inspect influxdb 查看镜像信息
docker container prune 删除所有的停止状态的容器
docker ps 查看正在运行的容器
docker ps -a 查看所有的容器(包含停止状态的容器)
docker exec -it 容器id /bin/bash 进入容器内部
docker run --name web -d nginx 后台运行nginx容器,并命名容器为web
docker container run 运行容器
docker run --name web -d -P 9000:80 nginx 指定端口运行容器,宿主机的9000端口对应容器的80端口
docker top mysql 查看容器内部进程
docker stats mysql 查看docker容器cpu、内存、网络使用情况
docker stop mysql 停止容器
docker start mysql 启动容器
dokcer restart mysql 重启容器
docker pause mysql 暂停容器
docker unpause mysql 取消暂停容器
docker container rm luhn/gunicorn-proxy 删除容器
docker rm luhn/gunicorn-proxy 删除容器
docker rm -f web 删除正在运行的web容器
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
#############################docker目录映射################################
如果不做目录映射,docker容器删除之后,docker容器内部数据会丢失,用-v参数指定
docker run --name web -d -v $PWD/html:/usr/share/nginx/html -p 9090:80 nginx 容器内部/usr/share/nginx/html挂载到宿主机当前目录html目录下,并指定宿主机端口对应容器80端口
 
docker volume create db_web 创建映射目录
docker run --name web -d -v db_web:/usr/share/nginx/html -p 9099:80 nginx 指定映射
 
docker volume inspect db_web 查看挂载目录位置
 
docker volume rm db_web 删除挂载目录
docker volume rm -f db_web 强制删除挂载目录
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
#############################Dockerfile########################################
dockerfile内容如下:
FROM ubuntu
LABEL maintainer="757899689@qq.com"
 
RUN apt-get update && apt-get install -y
nginx
 
CMD ["echo", "Hello,Tester!"]
 
docker build -t nginx_new -f Dockerfile .构建镜像
docker images 构建完镜像使用此命令查看生成的镜像
docker run nginx_new nginx_new 运行新生成的docker镜像,运行容器时不加任何参数,会执行CMD,加参数会忽略CMD,多个CMD只会执行最后一个CMD
 
Dockerfile1内容如下:
FROM alpine
LABEL maintainer="757899689@qq.com"
 
ENTRYPOINT ["/bin/cat"]
CMD ["/etc/passwd"]
# CMD 给ENTRYPOINT传参数, /bin/cat /etc/passwd
 
Dockerfile2:
FROM python:3-alpine3.9
LABEL maintainer="757899689@qq.com"
LABEL description="Simple deploying flask project"
 
WORKDIR /usr/src/app
 
ADD ./dev01.tar.gz ./
 
WORKDIR dev01/
 
RUN pip install --upgrade pip -i https://pypi.douban.com/simple
 
RUN pip install requests -i https://pypi.douban.com/simple
 
VOLUME /usr/src/app/dev01
 
EXPOSE 5000
 
CMD ["python", "run.py"]
 
docker build -t flask_app -f Dockerfile2 . 构建镜像
docker run --name flask_app -d -p 9090:5000 flask_app
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
############################共享images#######################################
上传docker images 到镜像仓库
docker login -u 用户名 -p 密码 登录
docker tag 1d6630144d93 757899689/flask_app:latest 改生成的镜像id为自己镜像仓库地址
docker push 757899689/flask_app:latest 上传镜像到docker hub
 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
############################Docker Compose####################################
安装docker-compose:
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 
 chmod +x /usr/local/bin/docker-compose
 
docker-compose --version 查看docker-compose版本号
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
更多问题欢迎进群沟通交流,QQ群790710729

微信群:

原文地址:https://www.cnblogs.com/yanpan/p/12730765.html