docker 和 docker-compose 安装
docker 安装
docker安装官网文档
docker-compose 安装
1 2 3
| sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose --version
|
容器基本命令
进入现有容器
代码示例
参考链接
1 2 3 4 5 6 7 8 9
| sudo docker exec -t -i container_name /bin/bash
sudo docker run --name t1 -it --entrypoint /bin/bash python
sudo docker run --rm -it --entrypoint sh python
|
docker-compose 命令
docker-compose 相关命令需要在含有docker-compose.yaml文件的路径下运行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # 项目创建及更新 -d 后台运行 sudo docker-compose up -d
# 项目重新构建镜像 sudo docker-compose up --build
# 运行一次性命令 查看web服务的环境变量 sudo docker-compose run web env
# 停止服务 sudo docker-compose stop
# 删除服务及数据卷 sudo docker-compose down --volumes
# 如果容器已存在则不会重新创建 sudo docker-compose up -d --no-recreate
|
应用篇
使用 docker-compose 进行容器部署
本地环境快速部署 mysql redis rabbitmq
docker-compose.yaml
注 3.2才支持使用volumes表达mount bind
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| version: '3.2' services: redis: image: "redis" restart: always ports: - "6379:6379" volumes: - type: bind source: /home/ubuntu/redis-data target: /data environment: - HELLO=hyman command: redis-server --appendonly yes
mysql: image: "mysql:5.7" restart: always ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=123456
rabbitmq: image: "rabbitmq:3-management" restart: always ports: - "5672:5672" - "15672:15672"
|
redis容器应用
代码示例
1 2 3
| # 更换绑定方式(成功) 用iptables 外网访问保证安全 docker run -p 6379:6379 --name myredis --restart always --mount type=bind,src=/home/ubuntu/redis-data,dst=/data -d redis redis-server --appendonly yes
|
mysql容器应用
代码示例
1 2
| sudo docker run --restart always --name my-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
|