docker命令
docker 安装
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL http://mirrors.[aliyun.com/docker-ce/linux/ubuntu/gpg](http://aliyun.com/docker-ce/linux/ubuntu/gpg) | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] [http://mirrors.aliyun.com/docker-ce/linux/ubuntu](http://mirrors.aliyun.com/docker-ce/linux/ubuntu) $(lsb_release -cs) stable"
sudo apt-get -y update
sudo apt-get -y install docker-ce
docker version
有时候安装失败,需要确认一下系统版本 i386 似乎不支持不了
dpkg --print-architecture
amd64 或者 i386
docker-compose 安装
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
mkdir /data
mkdir /data/docker
mkdir /data/docker-data
docker network create my_net
docker & docker-compose 完整安装命令
sudo apt-get update &&
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common &&
curl -fsSL http://mirrors.[aliyun.com/docker-ce/linux/ubuntu/gpg](http://aliyun.com/docker-ce/linux/ubuntu/gpg) | sudo apt-key add - &&
sudo add-apt-repository "deb [arch=amd64] [http://mirrors.aliyun.com/docker-ce/linux/ubuntu](http://mirrors.aliyun.com/docker-ce/linux/ubuntu) $(lsb_release -cs) stable" &&
sudo apt-get -y update &&
sudo apt-get -y install docker-ce &&
curl -L [https://github.com/docker/compose/releases/download/](https://github.com/docker/compose/releases/download/)1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose &&
chmod +x /usr/local/bin/docker-compose &&
mkdir /data &&
mkdir /data/docker &&
mkdir /data/docker-data &&
docker network create my_net &&
docker version &&
docker-compose version
docker 更换阿里云镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["[https://kmvocfqq.mirror.aliyuncs.com](https://kmvocfqq.mirror.aliyuncs.com/)"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker-compose 测试配置
version: '2'
services:
mysql:
image: mysql:8.0.13
hostname: dbMysql
restart: always
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- /data/docker-data/volumes/mysqldb:/var/lib/mysql:rw
- /data/docker-data/sql:/opt/sql
ports:
- "9100:3306"
mongo:
image: mongo:3.4
hostname: dbMongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
# 注意此处使用了volumes,重新开启账号密码会写不进admin导致无法登陆
MONGO_INITDB_ROOT_PASSWORD: 123456
ports:
- 9101:27017
volumes:
- /data/docker-data/volumes/mongodb:/data/db:rw
- /data/docker-data/mongoData:/opt/mongoData:rw
redis:
image: redis:4.0.11-alpine
hostname: dbRedis
restart: always
command: redis-server --requirepass 123456
# 或者使用配置启动 redis-server /usr/local/etc/redis/redis.conf
volumes:
- /data/docker-data/volumes/redis/redis.conf:/usr/local/etc/redis/redis.conf
- /data/docker-data/volumes/redis/db:/data
ports:
- 9102:6379
networks:
my_net:
external: true
docker 常用命令
docker ps 查看启动的容器列表
docker ps -a 查看所有容器列表
docker images 查看所有镜像
docker rm $(docker ps -a -q) 删除所有容器,需要先停止
docker rmi $(docker images -q) 删除所有镜像
docker exec -it apollo_1 bash 进入容器apollo_1
docker exec -it my_docker sh 进入 apline 构建的镜像
docker exec -it db_mongo_1 mongo 直接以mongo命令进入容器
docker exec -it db_redis_1 redis-cli 直接以redis-cli命令进入容器
docker rmi $(docker images |awk '{if($2=="<none>") print $3}') 删除标签为none的镜像
docker stats 实时监控容器的信息
docker stats --no-stream 只输出当前的信息
# 需要进入到包含有 docker-compose.xml的文件目录下执行
docker-compose up 启动
docker-compose down 停止
docker-compose up -d 守护模式启动
# 复制宿主机的 insert.sql文件到 db_mysql_1 容器的目录 /opt/sql/
docker cp /data/insert.sql db_mysql_1:/opt/sql/
# 复制 db_mysql_1 容器的目录 /opt/sql/insert.sql 到 宿主机的 /data
docker cp db_mysql_1:/opt/sql/ /data/
# 查看最后十条记录,并实时更新
docker logs -f --tail 10 sedirea_weekly_1
# 从某个日期开始,查看最后一百条记录,并实时更新
docker logs -f -t --since="2018-11-20T13:50:16.184406342Z" --tail=100 apollo_admin_1
# 安装相关工具
apt-get update (更新源)
apt-get install inetutils-ping (18.04安装ping)
apt-get install iputils-ping (旧版安装ping)
apt-get install net-tools (安装ifconfig)
docker-compose 常用命令
docker-compose up -d nginx 构建建启动nignx容器
docker-compose exec nginx bash 登录到nginx容器中
docker-compose down 删除所有nginx容器,镜像
docker-compose ps 显示所有容器
docker-compose restart nginx 重新启动nginx容器
docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器
docker-compose build nginx 构建镜像 。
docker-compose build --no-cache nginx 不带缓存的构建。
docker-compose logs nginx 查看nginx的日志
docker-compose logs -f nginx 查看nginx的实时日志
docker-compose config -q 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。
docker-compose events --json nginx 以json的形式输出nginx的docker日志
docker-compose pause nginx 暂停nignx容器
docker-compose unpause nginx 恢复ningx容器
docker-compose rm nginx 删除容器(删除前必须关闭容器)
docker-compose stop nginx 停止nignx容器
docker-compose start nginx 启动nignx容器