docker

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了docker脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

docker容器学习

安装使用教程

帮助文档:https://docs.docker.COM/engine/install/

安装

#1.卸载旧版本
yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-LOGrotate 
                  docker-logrotate 
                  docker-engine
#2.需要的安装包
yum install -y yum-utils
#3.设置镜像的仓库
yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo
#默认是从国外的,不推荐
#推荐使用国内的
yum-config-manager 
    --add-repo 
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件包索引
yum makecache fast
#查看docker版本
yum list docker-ce --showduplicates | sort -r
#安装指定版本的docker
yum install -y docker-ce-19.03.5-3.el7
#4.或者不care版本,直接安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
#6. 使用docker version查看是否按照成功
docker version
#7. 查看是否已启动docker
Systemctl status docker
#8. 启动
systemctl start docker
#9. 测试
docker run hello-world

卸载

#1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
#2. 删除资
rm -rf /VAR/lib/docker
# /var/lib/docker 是docker的默认工作路径!
# 查找docker安装包
[root@localhost ~]# yum list installed|grep docker
containerd.io.x86_64                 1.4.4-3.1.el7                  @docker-ce-stable
docker-ce.x86_64                     3:20.10.5-3.el7                @docker-ce-stable
docker-ce-cli.x86_64                 1:20.10.5-3.el7                @docker-ce-stable
docker-ce-rootless-extras.x86_64     20.10.5-3.el7                  @docker-ce-stable
[root@localhost ~]# yum -y remove containerd.io.x86_64 docker-ce.x86_64 docker-ce-cli.x86_64 docker-ce-rootless-extras.x86_64

启动、停止、查看

# 查看运行状态
systemctl status docker
# 启动
systemctl start docker
# 重启
systemctl restart docker
# 停止
systemctl stop docker

设置开机自启动

systemctl enable docker

添加阿里镜像下载地址(下载快)

vi /etc/docker/daemon.json
# 例
{
"registry-mirrors": ["https://QQmbqch0.mirror.aliyuncs.com",
                     "https://hub-mirror.c.163.com/",
                     "https://reg-mirror.qiniu.com"]
}
# 重启docker
systemctl restart docker

阿里镜像配置

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

常用命令

帮助命令

docker version    # 显示docker的版本信息。
docker info       # 显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help # 帮助命令
# 帮助文档的地址:https://docs.docker.com/engine/reference/commandline/build/

镜像命令

docker images # 查看所有本地主机上的镜像 可以使用docker image ls代替
docker seArch 搜索镜像
docker pull 下载镜像 
docker rmi 删除镜像 
docker rmi -f $(docker images -aq)

容器命令

docker run    镜像id 新建容器并启动
docker ps     列出所有运行的容器 docker container list
docker rm     容器id 删除指定容器
docker start  容器id #启动容器
docker restart容器id #重启容器
docker stop   容器id #停止当前正在运行的容器
docker kill   容器id #强制停止当前容器
# 所有命令可通过 --help 获取帮助

新建容器并启动

docker run -it centos /bin/bash
exIT # 退出 
ctrl + P + Q # 容器不停止退出

删除容器

docker rm 容器id   #删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -rf
docker rm -f $(docker ps -aq)  #删除指定的容器
docker ps -a -q|xargs docker rm  #删除所有的容器

后台启动

# 命令 docker run -d 镜像名
docker run -d centos
	a8f922c255859622ac45ce3a535b7a0e8253329be4756ed6e32265d2dd2fac6c
docker ps           
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               names
# 问题docker ps. 发现centos 停止了
# 常见的坑,docker容器使用后台运行,就必须要有要一个前台进程,docker发现没有应用,就会自动停止
# nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了

Tomcat镜像

  1. 准备好tomcat jdk到当前目录 编写好 README
[root@localhost download]# ls
apache-tomcat-10.0.8.tar.gz  jdk-8u202-linux-x64.tar.gz
  1. 编写dockerfile文件
[root@localhost docker-tomcat]# vi dockerfile

From centos #基础
MAINTAINER cheng<1204598429@qq.com>
COPY README /usr/local/README #复制文件
ADD jdk-8u202-linux-x64.tar.gz /usr/local/ #复制解压
ADD apache-tomcat-10.0.8.tar.gz /usr/local/ #复制解压
RUN yum -y install vim
env MYPATH /usr/local #设置环境变量
WORKDIR $MYPATH #设置工作目录
ENV JAVA_HOME /usr/local/jdk1.8.0_202 #设置环境变量
ENV CATALINA_HOME /usr/local/apache-tomcat-10.0.8 #设置环境变量
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib #设置环境变量 分隔符是:
ExpOSE 8080 #设置暴露的端口
CMD /usr/local/apache-tomcat-10.0.8/bin/startup.sh && tail -F /usr/local/apache-tomcat-apache-tomcat-10.0.8/logs/catalina.out # 设置默认命令
  1. 构造镜像
# 因为dockerfile命名使用默认命名 因此不用使用-f 指定文件
docker build -t mytomcat:1.01 .
@H_601_126@
  • run 镜像
  • docker run -d -p 8080:8080 -v /usr/local/docker/docker-volume/tomcat/test:/usr/local/apache-tomcat-10.0.8/webapps/test -v /usr/local/docker/docker-volume/tomcat/logs/:/usr/local/apache-tomcat-10.0.8/logs mytomcat:1.01
    
    1. 发布自己的镜像(阿里云镜像服务)

    官网:https://cr.console.aliyun.com/repository/

    # 登录阿里容器库
    docker login --username=登录名 registry.cn-hangzhou.aliyuncs.com
    # 从Registry中拉取镜像
    docker pull registry.cn-hangzhou.aliyuncs.com/docker-wangyi/my_tomcat:[镜像版本号]
    # 将镜像推送到Registry
    docker login --username=登录名 registry.cn-hangzhou.aliyuncs.com
    docker tag [Imageid] registry.cn-hangzhou.aliyuncs.com/docker-wangyi/my_tomcat:[镜像版本号]
    docker push registry.cn-hangzhou.aliyuncs.com/docker-wangyi/my_tomcat:[镜像版本号]
    
    # 示例(使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。)
    $ docker images
    REPOSITORY                         TAG            IMAGE ID            CREATED             VIRTUAL SIZE
    registry.aliyuncs.com/acs/agent    0.7-DFb6816    37bb9c63c8b2        7 days ago          37.89 MB
    
    $ docker tag 37bb9c63c8b2 registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
    
    1. 测试下载
    # 登录阿里容器库
    docker login --username=登录名 registry.cn-hangzhou.aliyuncs.com
    # 拉取镜像
    docker pull registry.cn-hangzhou.aliyuncs.com/docker-wangyi/my_tomcat:[镜像版本号]
    

    脚本宝典总结

    以上是脚本宝典为你收集整理的docker全部内容,希望文章能够帮你解决docker所遇到的问题。

    如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。