docker基础命令入门
docker 版本
创新互联公司是一家集网站建设,潼南企业网站建设,潼南品牌网站建设,网站定制,潼南网站建设报价,网络营销,网络优化,潼南网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。docker version
docker 信息
docker info
拉取镜像
docker pull ubuntu
删除镜像
docker rmi ubuntu
查看全部镜像
docker images
查看全部容器
docker ps -a
运行容器
docker run -p 80:80 --name ubuntu14.04 -i -t -v /home/dock:/Users/tongjh/ubuntu ubuntu /bin/bash -v 将宿主机上的目录挂载到镜像里 -p 将容器的80端口映射到主机的80端口 -i 以交互模式运行容器,通常与-t同时使用 -t 为容器重新分配一个伪输入终端,通常与-i同时使用 --name 为容器指定一个名称 -d 后台运行容器,并返回容器id -m 设置容器使用内存值 -h 指定容器的hostname
停止运行容器
docker stop ubuntu14.04
启动停止的容器
docker start ubuntu14.04
删除容器
docker rm ubuntu14.04
自动重启容器
docker run --restart=always --name ubuntu14.04 -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done" --restart=always 无论容器退出代码是什么,docker都会重启该容器 --restart=on-failure:5 如果退出代码非0是,才自动重启。5为自动重启次数,最多重启5次
数据卷 -v
docker run -it -v /dbdata:/dbdata --name dbdata ubuntu
数据卷容器 --volumes-from
docker run -it --volumes-from dbdata --name db1 ubuntu
进入容器
docker exec -it mymysql bash
容器日志
docker logs ubuntu
查看容器进程
docker top ubuntu
导出容器
docker export 容器id > ubuntu.tar
导入容器
cat ubuntu.tar | docker import - test/ubuntu:v1.0
登陆docker仓库
docker login
从已有的容器创建一个镜像
docker commit -m="ubuntu rap 配置" --author="tongjh" fafb59b5fa0d tongjh/ubunturap
向docker仓库推送一个创建好的镜像
docker push tongjh/ubunturap
###下面一个简单练手的列子,搭建一个nginx+php+mysql的容器###
拉取php镜像
docker pull php:5.6-fpm
运行php容器
docker run --name dream.php -d -v ~/docker/nginx/www:/var/www/html:ro php:5.6-fpm
说明:
dream.php 是容器的名字 ~/docker/nginx/www 是本地 php 文件的存储目录,/var/www/html 是容器内 php 文件的存储目录,ro 表示只读。拉取一个nginx镜像
docker pull nginx
编辑nginx配置文件
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; include fastcgi_params; } }
说明:
php:9000 表示 php-fpm 服务的访问路径,下文还会提及 /var/www/html 是dream.php 容器中php脚本的存储路径,经docker映射,变成本地路径 ~/docker/nginx/www运行一个nginx容器
docker run --name dream.nginx -p 80:80 -d -v ~/docker/nginx/www:/usr/share/nginx/html:ro -v ~/docker/nginx/conf:/etc/nginx/conf.d:ro --link dream.php:php nginx
说明:
-p 80:80 用于添加端口映射,把 dream.nginx 容器中的 80 端口暴露出来。 ~/docker/nginx/www 是本地 html 文件的存储目录,/usr/share/nginx/html 是容器内 html 文件的存储目录。 ~/docker/nginx/conf 是本地 nginx 配置文件的存储目录,/etc/nginx/conf.d 是容器内 nginx 配置文件的存储目录。 --link dream.php:php 把 dream.php 的网络并入 dream.nginx,并通过修改 dream.nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。拉取一个mysql镜像
docker pull mysql
运行一个mysql容器
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6 另一个例子
使用docker仓库中的镜像创建容器并运行
创建并启动一个mysql容器
docker run --restart=always -v /Users/junhuatong/docker/mysql-test:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql-test -d mysql创建并启动web服务器容器(nginx+php7)
docker run -d -p 8801:80 --restart=always -v /Users/junhuatong/docker/html/:/var/www/html/ --link mysql-test:db saaremaa/webserver测试,打开网站根目录(/Users/junhuatong/docker/html/),编辑index.php
浏览器打开http://127.0.0.1:8801/index.php
当前文章:docker基础命令入门
文章源于:http://scjbc.cn/article/cjjejo.html