Docker基本管理
1. 运行Docker的第一个容器,进行测试解决:
# docker run busybox echo hello world
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
07a152489297: Pull complete
Digest: sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47
Status: Downloaded newer image for busybox:latest
hello world
(1)查看运行的容器:
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
可以看出前面没有任何的容器处于运行的状态,这是因为容器在执行完echo hello world命令后自动退出了。
(2)查看所有容器(包含已经停止的)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
80d8496f3e1d busybox "echo hello world" 7 minutes ago Exited (0) 7 minutes ago infallible_wright
上面可以看到我们运行的hello-world.
(3)如果我们运行一个容器且想要进入该容器的终端,执行以下命令:例:
# docker run -t -i ubuntu:14.04 /bin/bash
Unable to find image 'ubuntu:14.04' locally
14.04: Pulling from library/ubuntu
324d088ce065: Pull complete
2ab951b6c615: Pull complete
9b01635313e2: Pull complete
04510b914a6c: Pull complete
83ab617df7b4: Pull complete
Digest: sha256:b8855dc848e2622653ab557d1ce2f4c34218a9380cceaa51ced85c5f3c8eb201
Status: Downloaded newer image for ubuntu:14.04
root@8845bfc2b967:/#
选项解释:-t代表终端,-i代表进入交互模式
2. 运行Docker的容器在一个分离的模式
解决:使用-d选项,代表是以后端进程的模式运行:
# docker run -d -p 1234:1234 python:2.7 python -m SimpleHTTPServer 1234
Unable to find image 'python:2.7' locally
2.7: Pulling from library/python
cc1a78bfd46b: Pull complete
6861473222a6: Pull complete
7e0b9c3b5ae0: Pull complete
3ec98735f56f: Pull complete
9b311b87a021: Pull complete
7a5e5e5b06b6: Pull complete
e54e82f81b9b: Pull complete
bb4f45bde0ff: Pull complete
18a3b44c196a: Pull complete
Digest: sha256:b4a2a74875705c13220c0950c8df6401524d616468b014a19c6efb84c50bbb7e
Status: Downloaded newer image for python:2.7
ba3c0258f2afe21d1c62629546d5257fc98b03b14492b95e796184987e6b99f1
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ba3c0258f2af python:2.7 "python -m SimpleHTT…" 11 seconds ago Up 10 seconds 0.0.0.0:1234->1234/tcp amazing_euler
3. 使用Docker File构建一个镜像
描述 :DockerFile是一个文本文件,该文本文件就是把一堆的步骤组合在一起,完成自动化的管理,如安装镜像,创建文件夹,映射端口等一堆操作。
简单示例:Dockerfile内容如下:
FROM busybox
ENV foo=bar
使用docker build命令去构建一个新的镜像叫做busybox2:如下
# docker build -t busybox2 .
Sending build context to Docker daemon2.048kB
Step 1/2 : FROM busybox
---> 8c811b4aec35
Step 2/2 : ENV foo=bar
---> Running in 6bc62bd05faf
Removing intermediate container 6bc62bd05faf
---> 428e72e9e893
Successfully built 428e72e9e893
Successfully tagged busybox2:latest
构建完成后,查看我们的镜像:
4. 使用Supervisor 在一个容器中运行WordPress示例
wordpress包括了MYSQL和HTTPD,PHP组件:使用Supervisor去监控和运行MYSQL和HTTPD
该知识点是使用supervisor在一个容器里去运行多个进程。
wp-config.php文件配置如下:
页:
[1]