docker ps 显示指定列
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}"
可用的占位符
名称 | 含义 |
---|---|
.ID | 容器ID |
.Image | 镜像ID |
.Command | 执行的命令 |
.CreatedAt | 容器创建时间 |
.RunningFor | 运行时长 |
.Ports | 暴露的端口 |
.Status | 容器状态 |
.Names | 容器名称 |
.Label | 分配给容器的所有标签 |
.Mounts | 容器挂载的卷 |
.Networks | 容器所用的网络名称 |
在运行容器的时候如果想连接其他容器 在运行的时候加上 --link +容器名称.
如果使用了别名,在项目中配置要写你配置的别名,--link docker_mysql:docker_mysql 后边这个就是别名。
容器一准备
$ docker run -i -t -d --name=client_setup ubuntu:18.10 /bin/bash /* 客户端 */
$ docker attach client_setup /* 进入容器 */
# apt-get update /* 更新 */
# apt-get upgrade /* 升级 */
# apt-get install curl /* 在容器内安装curl */
# exit /* 退出 */
$ docker stop client_setup /* 停止 */
$ docker commit client_setup client_img /* 提交 */
容器二准备
$ docker run -i -t -d --name=server_setup ubuntu:18.10 /bin/bash /* 服务器 */
$ docker attach server_setup /* 连接之 */
# apt-get update /* 更新 */
# apt-get upgrade /* 升级 */
# apt-get install apache2 /* 在容器内安装apache */
# exit /* 退出 */
$ docker stop server_setup /* 停止 */
$ docker commit server_setup server_img /* 提交 */
确认
$ docker images /* 查看本地镜像,确认提交成功 */
$ ifconfig docker0 /* 检查网桥
$ docker run -i -t -d --expose=80 --name=server1 server_img /bin/bash /* 启动服务器镜像,名为server1,公开80端口 */
$ docker attach server1 /* 进入容器 */
# /etc/init.d/apache2 start /* 启动apache */
# apt-get install net-tools /* 安装net-tools */
# ifconfig /* 查看ip */
$ docker run -itd --name=client1 client_img /bin/bash /* 启动客户端镜像,名为client1 */
$ docker attach client1 /* 进入容器 */
$ curl 172.17.0.2 /* 在客户端访问服务器 */
$ ifconfig docker0 /* 检查网桥
$ docker run -itd -p 8080:80 --name=server2 server_img /bin/bash /* 绑定到主机8080端口 */
$ docker attach server2 /* 进入容器 */
# /etc/init.d/apache2 start /* 启动apache */
# 通过宿主系统的浏览器访问http://localhost:8080,即可访问server2中的apache2。
$ docker run -itd --name=server3 server_img /bin/bash /* 启动服务器 */
$ docker attach server3 /* 进入容器 */
# /etc/init.d/apache2 start /* 启动apache */
$ docker run -itd --link server3 --name=client3 client_img /bin/bash /* 启动客户端,链接到服务器 */
$ docker attach client3 /* 进入容器 */
# curl server3 /* 通过客户端访问浏览器 */
# env | grep SERVER3 /* 检查环境变量,理解服务器和客户端的关系 */
$ docker network ls /* 查看网络 */
$ docker network create backend /* 创建网络,名为backend */
$ docker network ls /* 再次查看,确认创建成功 */
$ docker run -itd --net=backend --name=server server_img /bin/bash /* 启动服务器,指定网络 */
$ docker attach server /* 进入容器 */
# /etc/init.d/apache2 start /* 启动apache */
$ docker run -itd --net=backend --name=client client_img /bin/bash /* 启动客户端,指定网络 */
$ docker attach client /* 进入容器 */
# curl server /* 通过客户端访问浏览器 */