docker学习记录
docker的安装(linux)
命令 sudo wget -qO- https://get.docker.com | sh
解释:-q是轻量安装 O-标准化输出 网址自动获取适应本系统的shell脚进行sh执行安装。
如果是一般用户组执行命令:sudo usermod -aG admin
这样就能把你的用户加到docker的组内不需要 在进行sudo。
运行第一个docker应用
开启dcoker :systemctl start docker</br>
输出hello docker:docker run ubuntu echo hello docker
查看防火墙状态:firewall-cmd --state
关闭防火墙 systemctl stop firewalld.service
查看当前的ip(centos7):ip addr
改变docker 镜像
docker cp index.html 容器id(docker ps):/usr/share/nginx/html
docker commit -m 'fun' 容器id 提交名字
命令小结
命令 | 用途 |
---|---|
docker pull | 获取images |
docker build | 创建images |
docker images | 列出所有images |
docker ps | 显示正在运行container |
docker run | 运行一个container |
docker rmi | 删除images |
docker rm | 删除container |
docker commit | 保存改动为新的images |
docker cp | 在host于container之间拷贝文件 |
dockerfiler 创建自定义的镜像
FROM apline:latest
MAINTAINER zhangS
CMD echo "hello docker"
命令:docker build -t hello_docker .
实战;
FROM UBUNTU
//维护者
MAINTAINER zhangS
//更新软件包
RUN apt-get update
//下载安装 nginx
RUN apt-get install -y nginx
//复制本地文件到 安装目录
COPY index.html /var/www/html
//入口点
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]
//暴露端口
EXPOSE 80
dockerfile语法
命令 | 用途 |
---|---|
FORM | base image |
RUN | 执行命令 |
ADD | 添加文件 |
COPY | 复制文件 |
CMD | 执行命令 |
ENTRYPOINT | 入口点 |
EXPOSE | 暴露端口 |
WORKDIR | 制定路径 |
MAINTAINER | 维护者 |
ENV | 设置环境变量 |
USER | 指定用户 |
VOLUME | mount point |
注:指定entrypoint的时候在指定cmd cmd就变成其中的参数?
-volume 挂载
docker run -d -p 80:80 -v /usr/share/nginx/html nginx
这样就把这个 nginx的欢迎界面挂载成主机的html
命令:docker exec -it 容器名字 /bin/bash 进到容器内部
本地目录挂载到容器内部
docker run -d -p 80:80 -v $PWD/html:/usr/share/nginx/html nginx
这种情况直接更改本地文件 容器内文件也会更改
创建一个数据容器挂载到另一个容器内
docker run --volumes-from...
docker create -v $PWD/data:/var/mydata --name data_container ubuntu
docker run -it --volumes-from data_container ubuntu /bin.bash
mount
实现数据共享 同一个数据卷被多个容器共享、
registry 镜像仓库
注册dockerhub 然后制作本地镜像提交
dcoker push 镜像名字
docker login 登录
docker tag 旧镜像 新镜像
安装多容器工具
docker-compose
(linux) curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-(uname -m) > /usr/local/bin/docker-compose
查看ls -l /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose 所有有执行的权利
docker-compose.yml常用命令
命令 | 用途 |
---|---|
build | 本地创建镜像 |
command | 覆盖缺省命令 |
depends_on | 连接容器 |
ports | 暴露端口 |
volumes | 卷 |
images | pull 镜像 |
docker-compose 命令
命令 | 用途 |
---|---|
up | 启动服务 |
stop | 终止服务 |
rm | 删除容器中的服务 |
logs | 观察各个容器中的日志 |
ps | 列出服务相关的容器 |