Docker 离线安装、入门、使用详解、重载配置和重启

Stella981
• 阅读 576

Docker 镜像仓库

常用命令 官方文档 菜鸟教程

  1. docker run -it -d --name <container_name> -p 8898:80 -p 8899:3306 -v /home/:/home/suzhu/ <repository:tag centos:latest>运行容器 -v映射容器目录到本地目录,-p并指定本地端口映射到容器端口

  2. docker run -it --name <容器名称> <镜像仓库:标记 python:3.6> /bin/bash 以守护形式运行容器并进入命令窗口

  3. docker build -t <镜像仓库:标记 python:3.6> . 从Dockerfile构建镜像

  4. docker exec -it <容器ID> /bin/bash 进入容器

  5. docker attach <容器ID> 进入容器 /将本地标准输入、输出和错误流附加到正在运行的容器

  6. ctrl + p + q 退出但不关闭容器/让容器在后台运行

  7. docker cp <宿主机文件/文件夹> <容器ID:文件/文件夹> 在容器和本地文件系统之间复制文件/文件夹

  8. docker commit -p <容器ID> <新镜像名称> 根据现有的容器构建镜像

  9. docker save -o </..路径../自定义.tar> <一个或多个镜像名称> 将一个或多个图像保存到tar存档

  10. docker images 列出本地所有镜像

  11. docker ps 列出正在运行的容器 docker ps -a 列出所有容器

  12. docker stop <一个或多个容器ID> kill/停止一个或多个正在运行的容器

  13. docker start <一个或多个容器ID> 启动一个或多个停止的容器

  14. docker restart <一个或多个容器ID> 重新启动一个或多个容器

  15. docker rm <一个或多个容器ID> 删除一个或多个容器

  16. docker rmi <镜像仓库:标记 python:3.6> 删除一个或多个镜像

  17. docker rename <CONTAINER ID> NEW_NAME 重命名容器

  18. docker load -i ./container-backup.tar 从tar存档加载镜像

  19. docker search -s 10 java 查找所有镜像名包含java,并且收藏数大于10的镜像

  20. docker exec -it <容器ID> /bin/bash -c 'source ~/.bashrc;python demo.py' 宿主机执行容器内部脚本

  21. docker logs -ft --tail='all' <容器ID> 查看容器日志

Dockerfile 官方文档 CSDN详解

# This my first nginx Dockerfile
# Version 1.0

# Base images 基础镜像
FROM centos

#MAINTAINER 维护者信息
MAINTAINER tianfeiyu 

#ENV 设置环境变量
ENV PATH /usr/local/nginx/sbin:$PATH

#ADD  文件放在当前目录下,拷过去会自动解压
ADD nginx-1.8.0.tar.gz /usr/local/  
ADD epel-release-latest-7.noarch.rpm /usr/local/  

#RUN 执行以下命令 
RUN rpm -ivh /usr/local/epel-release-latest-7.noarch.rpm
RUN yum install -y wget lftp gcc gcc-c++ make openssl-devel pcre-devel pcre && yum clean all
RUN useradd -s /sbin/nologin -M www

#WORKDIR 相当于cd
WORKDIR /usr/local/nginx-1.8.0 

RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-pcre && make && make install

RUN echo "daemon off;" >> /etc/nginx.conf

#EXPOSE 映射端口
EXPOSE 80

#CMD 运行以下命令
CMD ["nginx"]

Docker 离线安装

下载安装包及其依赖

  1. 修改 /var/yum.conf keepcache=0 <----改成1就能保存安装包了

  2. yum install --downloadonly --downloaddir=/home/docker docker

  3. 已经安装的程序只会下载更新包,需要在纯净的环境下下载

安装

  1. rpm -ivh *.rpm --nodeps --force

  2. 配置 DOCKER_HOST

    sudo vim /etc/profile.d/docker.sh export DOCKER_HOST=tcp://localhost:2375

  3. 应用 source /etc/profile source /etc/bashrc

  4. 配置启动文件

    sudo vim /lib/systemd/system/docker.service

    ExecStart=/usr/bin/dockerd

    修改为(--graph /home/docker为docker数据存储位置)ExecStart=/usr/bin/dockerd --graph /home/docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:7654

  5. 重载配置和重启

    sudo systemctl daemon-reload sudo systemctl restart docker.service

  6. docker version

 个人微信,有什么建议、意见或补充,欢迎及时沟通!!!(添加时注明“博客园”,谢谢)
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这