美文网首页
常用的几个docker 容器 run 命令

常用的几个docker 容器 run 命令

作者: 黄德辉 | 来源:发表于2018-06-27 11:09 被阅读0次

    该篇主要用来快速部署开发与测试环境使用,不要在服务器上面做类似于这样的无挂载容器。
    mairadb
    docker run --restart unless-stopped --name mariadb -e MYSQL_ROOT_PASSWORD=***** -p 0.0.0.0:3306:3306 -v /etc/localtime:/etc/localtime:ro -d mariadb --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    redis
    docker run --restart unless-stopped --name redis -p 0.0.0.0:6379:6379 -d redis redis-server --appendonly yes
    wiremock
    docker run -it -p 8062:8080 rodolpheche/wiremock
    portainer
    docker run --name portainer -d -p 127.0.0.1:9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer
    nginx
    docker run --name nginx -p 0.0.0.0:80:80 -p 0.0.0.0:443:443 -v /etc/localtime:/etc/localtime:ro -v ~/nginx/conf.d:/etc/nginx/conf.d -v ~/nginx/html:/usr/share/nginx/html -d nginx && docker cp www.huangdehui.com nginx:/ && docker restart nginx
    关于nginx的我在上篇文章中有提起过当中的很多细节
    这里在特指一下docker 的两个参数
    1.--restart unless-stopped 该指令的作用可以让容器持续运行,即使重启服务器在服务器开机后docker启动后就会运行容器,常见的服务比如mariadb wiremock redis 或者 webapp 都可以加上该参数让开机自行启动。
    2.-v /etc/localtime:/etc/localtime:ro 这个是docker的挂载参数,ro是只读模式,它将系统的时间目录挂载给容器,可以同步服务器与容器的时间,注意很多 容器的时间与服务器的时间是不一致的可通过该方法进行统一,比如数据库,过去我们常常会发现服务器的时间与数据库的时间不一致时区问题,该方法也可以用来解决数据库时间不统一的情况。当然具体情况具体分析。ro是为了防止容器被攻破后的作用,由于将系统的时间挂载到容器中本身就是有风险的,如果容器被侵入一旦改变了容器中的文件被挂载的文件也一同会被修改,or也是一种保护机制,使得容器可以读取却无法被修改,使得侵入的人无法修改系统文件。

    相关文章

      网友评论

          本文标题:常用的几个docker 容器 run 命令

          本文链接:https://www.haomeiwen.com/subject/ibhbyftx.html