zoukankan      html  css  js  c++  java
  • docker入门

    1. 环境搭建

    Win10 Docker 安装使用

    2. 验证环境

    docker version
    
    docker run hello-world

    3. Docker hello world

    3.1 docker run:

    (1)使用 docker run 命令来在容器内运行一个应用程序

    docker run ubuntu:15.10 /bin/echo "Hello world"

    (2)运行交互式的容器

    docker run -i -t ubuntu:15.10 /bin/bash

    (3)后台模式启动容器

    docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

    4. 命令

    4.1 容器命令

    1)使用docker ps命令,查看运行中的容器

    docker ps 

    2)使用docker logs命令,查看容器内的标准输出

    docker logs 2b1b7a428627

    3)使用docker stop 命令来停止容器

    docker stop 25c534bc75f6
    docker stop sharp_franklin

    4)docker清理命令

    杀死所有正在运行的容器

    docker kill $(docker ps -a -q)

    删除所有已经停止的容器

    docker rm $(docker ps -a -q)

    删除所有未打 dangling 标签的镜像

    docker rmi $(docker images -q -f dangling=true)

    删除所有镜像

    docker rmi $(docker images -q)

    4.2 镜像命令 

    1)列出镜像列表

    docker images

    2)获取一个新的镜像

    docker pull ubuntu:13.10

    3)查找镜像

    docker search httpd

    4)拉取镜像

    docker run -d -P httpd

    5)创建镜像

    当我们从docker镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

    • 从已经创建的容器中更新镜像,并且提交这个镜像
    • 使用 Dockerfile 指令来创建一个新的镜像

    6)更新镜像

    使用镜像来创建一个容器、

    docker run -t -i ubuntu:15.10 /bin/bash

    通过命令 docker commit来提交容器副本

    docker commit -m="has update" -a="yeahwell" e218edb10161 yeahwell/ubuntu:v2

    查看新镜像

    docker images

    使用新镜像

    docker run -t -i yeahwell/ubuntu:v2 /bin/bash

     7)构建镜像

    5. 容器使用

    5.1 运行training/webapp

    1)在docker容器中运行一个 Python Flask 应用来运行一个web应用

    docker run -d -P training/webapp python app.py

    指定 -p 标识来绑定指定端口

    docker run -d -p 5000:5000 training/webapp python app.py

    2)查看到容器的端口映射

    docker port 7a38a1ad55c6
    
    docker port determined_swanson

    3)查看WEB应用程序日志

    docker logs -f 7a38a1ad55c6

    4)查看WEB应用程序容器的进程

    docker top determined_swanson

    5)检查WEB应用程序

    docker inspect determined_swanson

    6)停止WEB应用容器

    docker stop determined_swanson

    7)重启WEB应用容器

    docker start determined_swanson

    8)查询最后一次创建的容器

    docker ps -l

    9)移除WEB应用容器

    docker rm determined_swanson

     5.2 docker安装nginx

    1)查找Docker Hub上的nginx镜像

    docker search nginx

    2)拉取官方的镜像

    docker pull nginx

    3)运行容器

    docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs  -d nginx

    命令说明:

    • -p 80:80:将容器的80端口映射到主机的80端口

    • --name mynginx:将容器命名为mynginx

    • -v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www

    • -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf

    • -v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs

    5.3 docker 安装redis

    1)查找容器

    docker search  redis

    2)下载容器

    docker pull  redis:3.2

    3)运行容器

    docker run -d --name redis -p 6379:6379 redis

    5.4 docker安装RabbitMQ

    参考:用Docker镜像来学习RabbitMQ和Python客户端使用例子

    1)安装容器

    docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -p 25672:25672 rabbitmq:3-management

    2)登录管理页面

    localhost:15672
    username:guest
    password:guest

     5.5 docker安装zookeeper

    1)安装容器

    docker pull jplock/zookeeper:3.4.8 

    2)运行容器

     docker run -d -p 2181:2181 jplock/zookeeper

    5.6 docker安装myql

    1)安装容器

    docker pull mysql:5.6

    2)运行容器

    docker run -p 3306:3306 --name mysql5.6 -v D:/dockerfile/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v D:/dockerfile/mysql/logs:/logs -v D:/dockerfile/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=od -d mysql:5.6

    mysqld.cnf配置如下:

    [mysqld]
    pid-file        = /var/run/mysqld/mysqld.pid
    socket          = /var/run/mysqld/mysqld.sock
    datadir         = /var/lib/mysql
    lower_case_table_names=1
    #log-error      = /var/log/mysql/error.log
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    default-storage-engine=INNODB
    character_set_server=utf8
    init_connect='SET NAMES utf8'

     5.7 docker安装ftp服务器

    1)安装容器

    docker pull bogem/ftp

    2)运行容器

    docker run -d -v D:/dockerfile/ftpdata:/home/vsftpd -p 20:20 -p 21:21 -p 47400-47470:47400-47470 -e FTP_USER=test -e FTP_PASS=test -e PASV_ADDRESS=0.0.0.0 --name ftp1 --restart=always bogem/ftp
  • 相关阅读:
    linux_ext4恢复超级块.txt
    bayaim_Centos7.6_mysql源码5.7-多my.cnf_20190424.txt
    bayaim_Centos7.6_mysql源码5.7-multi_20190424.txt
    zhy2_rehat6_mysql04
    zhy2_rehat6_mysql03
    Neo4j安装,入门到深入了解完整教程
    程序员千万不要裸辞,对你没有任何好处
    减薪是变相的裁员所以我还是走吧
    python正则表达式匹配中文日期时间
    python用正则表达式匹配字符串里的日期
  • 原文地址:https://www.cnblogs.com/yeahwell/p/7840911.html
Copyright © 2011-2022 走看看