一,如何启动一个已退出的容器?

[root@localhost ~]# docker start storage4

说明:架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,docker容器运行后状态是exited(0)?

run时加参数 -d -i -t

  • -i: 以交互模式运行容器,通常与 -t 同时使用;

  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

例子:

[root@localhost ~]# docker run --name tracker1 --privileged -d -i -t 470671670cac
5a674df0c4bf9fa47d548e85b77166bc3b7ee4c7905a394ae8426e278cda5cce

查看状态,已经不是exit

[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5a674df0c4bf 470671670cac "/bin/bash" 9 seconds ago Up 8 seconds tracker1

三,docker启动的centos容器中如何使systemctl可用?

[root@5a674df0c4bf /]# systemctl status
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

[root@localhost ~]# docker run --name tracker1 --privileged -d -i -t 470671670cac /usr/sbin/init
0882a60ec13999b7fff728468fc1b9d89c47d05db49bac635d03b4a2e87c2a6d

[root@0882a60ec139 /]# systemctl start sshd
Failed to start sshd.service: Unit sshd.service not found.

说明:不再报  Failed to connect to bus: Host is down

说明: /usr/sbin/init:初始容器里的CENTOS,用于启动dbus-daemon。

四,docker如何生成一个新的镜像

使用commit命令

在容器内做了修改之后,直接commit

[root@914e7dcb1298 fdfs]# exit
exit [root@localhost liuhongdi]# docker commit 914e7dcb1298 fastdfs_storage_0.1

说明:

914e7dcb1298:    容器的id

fastdfs_storage_0.1 :  给imae起的名字

可以看到image的列表中已经生了我们生成的image

[root@localhost liuhongdi]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
fastdfs_storage_0.1 latest fc81a26e998e 8 seconds ago 533MB
centos latest 470671670cac 6 weeks ago 237MB

五,docker如何挂载本地目录?

-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录

需要注意的地方:1,路径要使用绝对路径,避免因使用相对路径出错

2,如果在容器内修改从宿主机挂载进去的目录/文件的owner,

会影响到 宿主机上的目录/文件owner ,

因为linux下的文件是使用uid来对应,所以尽量不要做这种修改

例子:

[root@localhost liuhongdi]# docker run --name tracker1 --privileged -v /usr/local/source:/usr/local/source -d -i -t 470671670cac /usr/sbin/init
6351748e4916dc0300cdb663fe14187da78d7cd16d130c3f2b67a11c1f772aa9 [root@localhost liuhongdi]# docker exec -it tracker1 /bin/bash

[root@6351748e4916 /]# ls /usr/local/source/
V1.0.43.tar.gz apache-zookeeper-3.5.6-bin.tar.gz jmeter.log nginx-1.17.8

说明:进入容器后可以看到以前在宿主机中的文件

六,docker内无法解析dns,需要对宿主机的防火墙做设置:

生产环境下是绝对不可以禁用防火墙, 只需要开启伪装IP的功能即可以正常使用dns

[root@localhost liuhongdi]# firewall-cmd --zone=public --add-masquerade --permanent
success
[root@localhost liuhongdi]# firewall-cmd --reload
success
[root@localhost liuhongdi]# systemctl stop firewalld
[root@localhost liuhongdi]# systemctl start firewalld
[root@localhost liuhongdi]# systemctl stop docker
[root@localhost liuhongdi]# systemctl start docker
[root@localhost liuhongdi]# docker run --name tracker1 --privileged -v /usr/local/source:/usr/local/source -d -i -t 470671670cac /usr/sbin/init
914e7dcb12983cc27302a7becf05833abab07d8a765bf11326ca0c9ecfa12e6a
[root@localhost liuhongdi]# docker exec -it tracker1 /bin/bash
[root@914e7dcb1298 /]# ping www.sina.com.cn
PING spool.grid.sinaedge.com (120.192.83.125) 56(84) bytes of data.
64 bytes from 120.192.83.125 (120.192.83.125): icmp_seq=1 ttl=51 time=34.6 ms ^C
--- spool.grid.sinaedge.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 20.664/27.730/34.566/5.679 ms

七,查看本地centos的版本:

[root@localhost lib]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

docker的常用操作之二:docker内无法解析dns之firewalld设置等的更多相关文章

  1. docker 基本常用操作做

    docker 基本常用操作做(只列举入门常用的命令) 容器生命周期管理 docker run :创建一个新的容器并运行一个命令 -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDO ...

  2. Docker之常用命令(二)

    这篇博客就不扯皮了,简单粗暴地贴上自己整理的一份Docker常用命令. docker search ** // 查找镜像 docker pull nginx // 载入镜像 # -a 拉取所有tagg ...

  3. Docker及常用操作

    镜像.容器和仓库 Docker镜像: 镜像是一个只读的模板,可以用来创建Docker容器.可以直接创建一个镜像,或者是更新已有镜像,或者复制他人的镜像直接使用. Docker容器: 容器是镜像的实例, ...

  4. docker的常用操作之三:网络配置

    一, docker安装后容器使用哪些网络类型? 在宿主机执行如下命令: [root@localhost liuhongdi]# docker network ls NETWORK ID NAME DR ...

  5. docker镜像常用操作的基本命令

    1.拉取/下载镜像 docker pull 镜像名称       (可以从网易云镜像中心获取要下载的镜像) 2.查看已经下载的镜像 docker images 3.删除本地镜像 docker rmi ...

  6. docker的常用操作

    查看所有的镜像: docker images 查看所有的容器: docker ps -a 查看正在运行的容器: docker ps 移除容器: docker rm -f 容器id 移除镜像: dock ...

  7. Git常用操作(二)

    仓库拉取 git clone XXX 修改仓库链接 $ git config -l # 显示coding列表 $ git config --get remote.origin.url # 返回orig ...

  8. docker镜像常用操作

  9. Oracle常用操作-----(二)

    Oracle主要类型函数: 单行函数:只能输入一行结果,返回一个结果.常见的单行函数有: 字符函数 数字函数 转换函数 日期函数 2.聚合函数:同时可以对多行数据进行操作,并返回一个结果.(AVG.S ...

随机推荐

  1. python之class Meta用法

    Django model中的 class Meta 详解   通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(mod ...

  2. maven问题汇总

    Failed to read artifact descriptor for xxx:jar 在MyEclipse中执行Maven的install命令时,报“Failed to read artifa ...

  3. java执行器

    Executor 执行已提交的 Runnable 任务对象.此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节.调度等)分离开来的方法.Executor 接口并没有严格地要求执行是 ...

  4. 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?

    Thread t1 = new Thread(new T1()); Thread t2 = new Thread(new T2()); Thread t3 = new Thread(new T3()) ...

  5. 实战Docker容器调度

    目录 一.前言 二.Docker Compose 2.1.简介 2.2.下载安装 2.3.小实验 2.4.小实验的细节 2.5.Compose file的编写规则 三.Docker Swarm 3.1 ...

  6. 永远不要在代码中使用“User”这个单词

    ​ 当你意识到你在项目开始时做的轻量.简单的设想竟然完全错了时,你已经用了六个月的时间投入到这个项目上.现在你需要解决这些问题,才能让这个系统继续运行下去,你发现你用在这个项目上的精力远远超出了你的预 ...

  7. win10病毒和威胁防护无法重新启动解决方法

    1.检查电脑中是否安装了任何的第三方反病毒软件 (例如 360.腾讯电脑管家等)?如果有的话,麻烦您将其卸载,卸载完毕后重启设备,再看一下病毒和威胁防护能否正常启动:2.按 "Windows ...

  8. java工作三年应具备的技能

    LZ常常思考自己的未来,也从自己的思考中总结出了一些东西,作为第一部分来谈谈.LZ认为一名程序员应该有几个阶段(以下时间都算上实习期). 第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段 ...

  9. dbdeployer MySQL沙盒部署详解

    一.工具介绍 前几日用mysql-sandbox来搭建MySQL8.0新版本时发现用不了,提示需要使用dbdeployer才行,瞬间觉得mysql-sandbox不香了,只好咬咬牙来熟悉dbdeplo ...

  10. java进阶(23)--List接口

    一.基本概念 1.有序可重复 2.有下标 3.包含ArraList.LinkedList.Vector   二.List中特有的方法 且常用 (以下军均为数组通用方法) 1.void add(int ...