One - One Code All

Blog Content

docker容器连接及docker ps指定列

运维   2020-04-25 08:34:39

基础命令

  • 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 /* 通过客户端访问浏览器 */




上一篇:opendistro sql的二次开发
下一篇:Davinci的docker启动

The minute you think of giving up, think of the reason why you held on so long.