Docker 版本 17.06.0-ce
我正在通过观看视频课程来学习 Docker。
讲师展示:
sudo docker run -ti ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)
使用图像 ubuntu 运行 docker。而让我烦恼的是/bin/bash\
。
man docker run
显示这/bin/bash
是一个命令。那就是docker run IMAGE [COMMAND]
。好吧,没关系。但是两者有什么区别
sudo docker run -ti ubuntu
Run Code Online (Sandbox Code Playgroud)
和
sudo docker run -ti ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)
对我来说没有。而且讲师没有将注意力集中在命令上。他说我们只是运行docker。这是他在课程中的第一个命令。然后他表明我们已经与主机隔离了,我们可以自由地破坏我们想要的东西而没有任何损坏(如rm -rf /bin)。
我检查了:
$ sudo docker run -ti ubuntu
root@aaf7cd26fe18:/# echo $SHELL
/bin/bash
$ sudo docker run -ti ubuntu /bin/bash
root@6b2570958216:/# echo $SHELL
/bin/bash
Run Code Online (Sandbox Code Playgroud)
好吧,为了我自己,我决定把这/bin/bash
部分当作垃圾扔掉。
但无论如何我决定问你:也许这两种运行 Docker 的方式有一些区别?如果有,它是什么样的?
Ubuntu 16.04.2
在我读过的一本书中,我们需要 iptables-persistent。该书于2016年出版。
好的:
sudo apt install -y iptables-persistent
Run Code Online (Sandbox Code Playgroud)
一切都安装好了。到目前为止没有问题。如果我重新启动计算机,iptables 仍然存在。
然后在书中我读到:
sudo service iptables-persistent start.
Run Code Online (Sandbox Code Playgroud)
我明白了:
Failed to start iptables-persistent.service: Unit iptables-persistent.service not found.
Run Code Online (Sandbox Code Playgroud)
您能否发表评论:Ubuntu 16.04.2 是否可以接受这种行为?
“原始”命令 https://www.postgresql.org/download/linux/ubuntu/
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
下面的例子取自这里:https : //docs.docker.com/engine/examples/postgresql_service/#installing-postgresql-on-docker
# Add the PostgreSQL PGP key to verify their Debian packages.
# It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
Run Code Online (Sandbox Code Playgroud)
我明白这是关于 gpg 的。我正在查看 man gpg 的输出。但是不能理解这个例子。
我不知道他们从哪里拿的:
hkp://p80.pool.sks-keyservers.net:80
B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
--recv-keys
你能帮我吗?
Ubuntu 16.04.2
请注意,我是新手,问题可能很笨拙。我已经阅读了一些理论资料,但没有足够的实践。
假设,我们有一个从托管商那里购买的 VPS。
我有点害怕通过 ssh 访问。在某些情况下,您可能会破坏所有内容而无法访问(例如,组织 iptables 以拒绝一切,或者只是丢失自己的私钥等)。
假设我们要更新 OpenSSL。
好吧,据我所知,我们必须下载它,解压缩,配置和制作。然后重新启动服务器以确保安全。
如果 ssh 不起作用怎么办?所以,我们重新启动,无法访问。我担心我的主机不会帮助我恢复对服务器的访问。
也许我应该在重新安装 OpenSSL 时在 UFW 中打开 telnet 访问?这不安全。
也许我应该向我的 ISP 支付更多的钱以获得静态 IP,组织 UFW 以仅允许从我的静态 IP 通过 Telnet 访问?好一点。
控制面板(如 ISP 管理器)在这里有用吗?
好吧,你能告诉我更新 OpenSSL 的正确方法是什么吗?