Docker 安装卸载,镜像加速,常用命令,容器数据卷,Dockerfile文件编写

Docker安装以及卸载

官网地址:https://docs.docker.com/engine/install/centos/

卸载旧版本:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
安装gcc环境
yum -y install gcc
安装gcc-c++环境
yum -y install gcc-c++
设置存储库
yum install -y yum-utils

这是阿里云的存储库,官网上的速度太慢,容易超时

yum-config-manager \
>     --add-repo \
>     https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker引擎,也可以参考官网选择版本
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动Docker
systemctl start docker

在这里插入图片描述
设置开机启动

systemctl enable docker && systemctl start docker # 这里是设置了开机启动,并同时启动docker

可以查看版本

docker version

在这里插入图片描述

启动hello world

docker run hello-world

在这里插入图片描述

卸载

先停掉Docker

systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

Docker 镜像加速

通过阿里云来完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
直接一步步复制命令就行
在这里插入图片描述

Docker常用命令(更多请查看官网)

镜像命令

列出本地镜像

docker images  [-a -q -qa]

搜索镜像

docker search [镜像名] 

下载镜像

docker pull [镜像名:版本] 

在这里插入图片描述
查看本地信息

docker system df

在这里插入图片描述
删除

docker rmi -f hello-world # -f 表示强制删除
容器命令

启动

docker run [option] image [command] [arg]

在这里插入图片描述
查看命令

docker ps [参数]
-a 历史上出现过,用过,当前活着的
-l 显示最近创建的
-n 显示最近n个创建的容器
-q 静默模式,只显示容器编号

容器停止
exit

容器不停止
ctrl+p+q

启动已停止的

docker start [容器名或id]

停止

docker stop [容器名或id]

强制停止

docker kill [容器名或id]

删除已停止的

docker rm [容器名或id] # -f 强制

批量操作

docker rmi -f $(docker images -a) # 这是批量删除镜像,谨慎操作,当然,也可以批量删除容器

查看容器日志

docker logs 容器id

在这里插入图片描述

查看容器进程

docker top 容器id

在这里插入图片描述

查看容器细节

 docker inspect  容器id

重新进入

docker exec -it 容器id [参数]  #可以使用exit退出,不导致容器停止
docker exec -it  mysql /bin/bash 
docker attach 容器id  #使用exit回让容器停止

当然,2个都可以使用Ctrl+p+q退出而不停止容器

拷贝文件

docker cp 容器id:文件路径 主机路径

导出容器

docker export 容器id> 文件名.tar

导入容器

cat abcd.tar | docker import - 镜像用户/镜像名(其实就是容器名,这位置):版本号

从容器创建一个新的镜像

docker commit -m=容器信息 -a=作者 容器id 镜像名:版本号

容器数据卷

目的:为了数据持久化

docker run -it --privileged=true -v 本机目录:容器目录 --name=名字 镜像名 
#如果没有目录它回自己创建,而且不管是主机还是容器上的数据都是同步的
# 也就是说,在本机上改目录里面的会同步到容器上
docker run -it -v 本机目录:容器目录:读写规则 --name=名字 镜像名
# rw 读写
# ro 只读

注意: 如使用mysql和redis等需要数据持久化的需要使用容器数据卷

Dockerfile

编写centos Dockerfile模板
内容:

添加 java8
添加 vim 编辑器
添加 ifcondig

# 指定从那个镜像
# 这里不推荐新版本,因为下载源换了
FROM centos:7
# 作者邮箱
MAINTAINER 作者邮箱

# ENV是指环境变量的配置,这里是登录了以后进入到/usr/local目录下
ENV MYPATH /usr/local
# 引用前面定义好的
WORKDIR $MYPATH

# RUN 指在镜像中运行后面的RUM 后的命令
# 安装vim编辑器
RUN yum -y install vim
# 安装ifconfig
RUN yum -y install net-tools
# 安装java8 以及lib库
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
# 这里是将jdk的压缩包解压到指定目录下,jdb包和Dockerfile文件在同一目录下,否则容易报错
ADD jdk-8u112-linux-x64.tar(1).gz /usr/local/java/

# 更改系统环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_112
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

# 指暴露端口
EXPOSE 80

# 打印路径和成功信息
CMD echo $MYPATH
CMD echo "success...ok"
CMD /bin/bash

编译

docker build -t centosjava8:1.5 .

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值