Docker


docker search redis 搜索redis版本
docker pull redis 下载默认版本
docker pull redis:7.0
docker rmi IMAGE_ID删除镜像,rm是remove i是镜像
docker images -q 查看所有镜像id
docker rmi docker images-q
exit退出
docker ps -a
docker run -id --name=c2 centos:7 /bin/bash #创建docker
docker exec -it sb1 /bin/bash #进入这个docker
docker stop sb1
docker start sb1
docker ps
docker rm sb1(或io都可以删除)
docker inspect 容器名称 #查看容器相关信息
docker 文件和宿主机挂载
docker run -it --name=c3 -v /root/data:/root/data_container centos /bin/bash
使用docker容器制作镜像
(将容器制作成镜像)
docker commit 容器id sbsb:1.0 #制作镜像 (docker commit 5c0fd sb1:1.0)
这样用docker images 时能看到sb1的镜像且版本号是1.0
docker save -o 压缩文件名(
自定义) 镜像名 (docker save -o sbces.tar sb1)
-o是路径 ,如果不填路径只填名称就是现在的文件夹下
把镜像压缩成sbces.tar的文件
///直接将容器打包成文件(就省略将容器打包成镜像然后在打包成文件)
///docker export -o ~/mysql-vim-dk.tar mysql-studk
docker load -i nb1.tar #解压(还原)压缩镜像文件
-i 指的是指定数据流的标准输入,也就是从文件中读取镜像。
doker import <tar文件的地址> <需要保存成的镜像名称 :版本>
一般docker import 是将远程文件打包到本地
docker import URL [REPOSITORY[:TAG]]
例如docker import https://nb.sb/cnm.tar cnm:1.0
docker load和doker import将tar文件转为镜像的区别
和docker load -i 的区别就是load不需要定义镜像名称,直接可以用打包里面的被打包时的镜像名称和版本
docker load 命令速度较快,因为它直接将 tar 归档文件加载到 Docker daemon 中,而 docker import 命令需要将 tar 归档文件解压缩并重新打包为镜像,因此速度较慢。

使用dockerfile 文件制作镜像:
创建文件:(例如文件名:springboot_dockerfile
FROM java:8
MAINTAINER itheima mailto:svip@nb.sb
ADD HelloDocker-0.0.1-SNAPSHOT.jar app.jar
CMD java -jar app.jar
使用文件制作镜像:(-f是指定目录的意思)
docker build -f ./springboot_dockerfile -t app:1.0 .
如果docker文件在此目录下的话可以直接用
docker build -t centos:test .
如果docker文件没有在此目录下的话可以直接用
docker build -t myimage -f ./path/to/dockerfile .
这个命令最后的.
表示在当前目录执行docker build命令,即使用当前目录下的Dockerfile文件进行构建,并将结果以myimage标签保存到本地。
查看镜像 docker imges
可以看到命名为app的镜像版本为1.0
然后创建容器即可:
docker run -it --name=c5 app:1.0
从容器中复制文件到宿主机中
拷贝容器的文件到主机中
docker cp 容器id:容器内路径 目的主机路径
拷贝宿主机的文件到容器中
docker cp 目的主机路径 容器id:容器内路径
重启容器
docker restart 0f883d9d5d32
删除容器
docker rm 容器名称
docker 创建数据卷
创建数据卷:docker volume create <数据卷名称>
docker ls
docker rm
docker volume prune //删除未使用的数据卷
docker volume inspect
dockerfile

运行dockerfile文件创建镜像
<这个标签可以是一个键值对,也可以是一个镜像名称>
-t是指定标签的意思
docker build -t <标签> <Dockerfile 所在目录>
dockerfile 的命令摘要
FROM- 镜像从那里来
MAINTAINER- 镜像维护者信息
RUN- 构建镜像执行的命令,每一次RUN都会构建一层
CMD- 容器启动的命令,如果有多个则以最后一个为准,也可以为ENTRYPOINT提供参数
VOLUME- 定义数据卷,如果没有定义则使用默认
USER- 指定后续执行的用户组和用户
WORKDIR- 切换当前执行的工作目录
HEALTHCHECH- 健康检测指令
ARG- 变量属性值,但不在容器内部起作用
EXPOSE- 暴露端口
ENV- 变量属性值,容器内部也会起作用
ADD- 添加文件,如果是压缩文件也解压
COPY- 添加文件,以复制的形式
ENTRYPOINT- 容器进入时执行的命令
Docker-compose

docker-compose up
文件夹内需要有docker-compose.yml文件
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-uname -s
-uname -m
-o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
sudo systemctl enable docker
版权属于:戏人看戏博客网
本文链接:https://day.nb.sb/archives/430.html
若无注明均为戏人看戏原创,转载请注明出处,感谢您的支持!