docker容器从入门到痴迷(推荐)

2020-06-17 06:58:37易采站长站整理

运行 ubuntu 容器并进入交互式环境


aaron@ubuntu:~$ docker run -i --name="ubuntu1" --hostname="ubuntu1" ubuntu /bin/sh
cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 ubuntu1
whoami
root
uname -a
Linux ubuntu1 4.15.0-34-generic #37-Ubuntu SMP Mon Aug 27 15:21:48 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

上述命令我们创建了一个名字为 ubuntu1 的容器,设置容器的主机名为 ubuntu1,进入 /bin/sh 命令后我们打印了 hosts 文件的内容,查看了内核版本(与本机操作系统版本一致),这里可以使用各种 linux 命令,就像在新的操作系统中使用命令一个样。同样的方法,我们在新的终端创建一个 ubuntu2 的容器,并使用


docker ps

查看正在运行的容器。

 

查看正在运行的容器

输入 exit 退出容器。


docker run -d ubuntu

会出现一串长的字母数字组成的串,为容器的 id,请注意容器要有持续运行的进程存在,否则,容器会很快自动退出。
运行容器并指定MAC地址


docker run -d --name='centos3' --hostname='centos3' --mac-address="02:42:AC:11:00:24" docker-centos6.10-hadoop-spark

列出所有的容器


docker ps -a

列出最近一次启动的容器


docker ps -l

检查容器


docker inspect centos1

可以获取容器的相关信息。

获取容器CID


docker inspect -f '{{.Id}}' centos1

获取容器PID


docker inspect -f '{{.State.Pid}}' centos1

获取容器IP


docker inspect -f '{{.NetworkSettings.IPAddress}}' centos1

获取容器网关


docker inspect -f '{{.NetworkSettings.Gateway}}' centos1

获取容器 MAC


docker inspect -f '{{.NetworkSettings.MacAddress}}' centos1

查看容器 IP 地址


docker inspect -f '{{.NetworkSettings.IPAddress}}' centos1

连接容器

ssh 容器的 IP 地址

输入密码:123456

容器运行后,可以通过另一种方式进入容器内部