docker 容器基本命令
列出所有的容器 ID
docker ps -aq
停止所有的容器
docker stop $(docker ps -aq)
刪除所有的容器
docker rm $(docker ps -aq)
刪除所有的鏡像
docker rmi $(docker images -q)
查看容器IP
docker inspect 容器ID
查看容器日志
docker logs 容器ID
容器自動重啟
docker container update --restart=always NAMES(容器名稱)
復制文件
docker cp mycontainer:/opt/file.txt /opt/local/docker cp /opt/local/file.txtmycontainer:/opt/
現在的docker有了專門清理資源(container、image、網絡)的命令。
docker 1.13 中增加了docker system prune的命令,針對container、image可以使用docker container prune、docker image prune命令。
刪除所有不使用的鏡像
docker image prune --force --all docker image prune -f -a
刪除所有停止的容器
docker container prune:
進入容器內
docker exec -it 容器名稱 或id /bin/bash
----------------------------------------------------
docker 搭建 nginx + mysql + php-fpm
docker 安裝php
docker pull php:7.2-fpm docker images 運行php docker run -p 9000:9000 -d --name myphp-fpm -v /docker/www:/www php:7.2-fpm 查看狀態 docker ps –a 進入正在運行的php容器 docker exec -it myphp-fpm bash docker php安裝 擴展 進入容器內 pecl install 安裝redis pecl install -o -f redis rm -rf /tmp/pear docker-php-ext-enable redis
安裝nginx
1.搜索nginx
docker search nginx
2.拉取nginx
docker pull docker.io/nginx
3.查看是否下載成功
docker images
4.啟動nginx
docker run -p 80:80 -d --name mynginx -v /docker/www:/www nginx <br> docker run --name mynginx -p 80:80 -p 443:443 -v /docker/www:/www -v /docker/nginx/conf/vhosts/:/etc/nginx/conf.d --link myphp7.2:php -d docker.io/nginx:latest
-p 80:80:將容器的80端口映射到主機的80端口 -p 443:443:將容器的443端口映射到主機的443端口 -v /docker/www:/www 將容器/www目錄映射到宿主機的/docker/www/下 -v /docker/nginx/conf/vhosts/:/etc/nginx/conf.d 將容器/虛擬主機配置目錄映射到宿主機的/docker/nginx/conf/vhosts/下 等 -d 后台運行(守護進程) --name mynginx:將容器命名為mynginx 容器互連,互相通訊,如果不配置 則nginx無法使用docker php --link 容器名稱 myphp7.2:php
5.查看是否開啟成功
docker ps –a
搭建成功,可以運行一下 查看是否 Nginx啟動成功
6.重啟nginx
docker ps -a 查看容器id
docker restart e14c6641077b
錯誤:ngnix 報錯 403 是因為沒有掛載目錄權限
chcon -Rt svirt_sandbox_file_t /docker/www
docker 使用composer 管理
docker pull composer docker run -it -v /docker/www:/app composer:latest composer install /docker/www 是本地需要使用composer 的路徑 /app 固定路徑
docker 啟動mysql
sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root-d mysql:5.7
docker 啟用redis
docker run -p 6379:6379 --name myredis redis:latest -d redis-server
docker 安裝rabbitmq 外網不能訪問
執行rabbitmq-plugins enable rabbitmq_management