这篇文章主要是记录一下命令,不用到处去查找, 会显得杂乱。
------------------------------------------------------------------------------------------------------
Centos下Docker安装。
1.1安装一些必要的工具:
yum install -y yum-utils device-mapper-persistent-data lvm2
1.2 添加Docker的储存库。
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
1.3安装Docker-ce
yum install -y docker-ce
1.4启动Docker
systemctl start docker
1.5测试运行 hello-world。
docker run hello-world
1.6 添加镜像加速。
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://7u62o1cr.mirror.aliyuncs.com"]
}
EOF
然后使配置文件生效
systemctl daemon-reload && systemctl restart docker
查看是否配置成功
docker info
如果需要sudo才能运行的话。
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名。
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
有关镜像的命令。
1、docker images # 列出本地机上所有的镜像
2、docker search centos(镜像的名字) # 寻找某个镜像
3、docker pull centos # 下载镜像
4、docker rmi -f 镜像ID/镜像名字 # 删除镜像
5、docker save -o xxx.tar 镜像名 # 打包镜像
6、 docker load -i xxx.tar # 解压镜像
有关容器的命令。
1、创建并启动容器 docker run [OPTIONS] IMAGES [COMMAND]
OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-p: 指定端口映射,有以下四种格式
--volume , -v: 绑定一个卷
注意: -it 进入容器exit之后,容器就会停止,如果以-id创建容器,需要使用命令进入容器,exit之后,容器也不会停止。
example: docker run -p 80:80 -v ./volume:/data -it --name centos_1 centos:latest
2、列出所有的容器。
docker ps -a
3、启动容器: docker start 容器ID或者容器名
4、重启容器 docker restart ~
5、停止容器 docker stop ~
6、强制停止容器 docker kill ~
7、删除已经停止的容器 docker rm ~
8、进入容器 docker exec -it ~ /bin/bash
9、退出容器 exit(容器停止退出)、 ctrl+P+Q(容器不停止退出)
10、查看容器运行的进程 docker top ~
11、查看容器内部细节 docker inspect ~
12、删除所有的容器 : docker rm $(docker ps -aq)
12、查看容器日志 -f: 加入时间戳 -f 跟随最新的日志打印 --tail 数字 显示最后多少条
docker logs -f -t --tail 100 centos_1
13、从容器内拷贝到宿主机 docker cp 容器ID:容器路径 宿主机路径
docker cp centos_1:/root/a.txt ~/a.txt
有关docker-compose的命令。
1、安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2、 常用的命令
3.常用命令
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容器
3、编写docker-compose.yml
version: '3.4'
x-logging:
&default-logging
options:
max-size: '12m'
max-file: '5'
driver: json-file
services:
tracker:
image: delron/fastdfs
network_mode: host
restart: always
container_name: tracker
logging: *default-logging
volumes:
- "./fdfs/tracker:/var/fdfs"
- "./fdfs/conf:/etc/fdfs"
command: tracker
storage:
image: delron/fastdfs
network_mode: host
restart: always
container_name: storage
logging: *default-logging
volumes:
- "./fdfs/storage:/var/fdfs"
- "./fdfs/conf/:/etc/fdfs"
- "./nginx/conf/:/usr/local/nginx/conf"
environment:
- TRACKER_SERVER=192.168.101.95:22122
- GROUP_NAME=group1
command: storage
mysql:
image: mysql:5.7
restart: always
logging: *default-logging
container_name: mysql
volumes:
- "./mysql/conf/:/etc/mysql.conf.d"
- "./mysql/logs:/logs"
- "./mysql/data:/var/lib/mysql"
environment:
- MYSQL_ROOT_PASSWORD=123456
# - MYSQL_DATABASE=ai_info
networks:
- backend
ports:
- "3306:3306"
redis:
container_name: redis
image: redis
logging: *default-logging
ports:
- 6379:6379
networks:
- backend
django:
image: liu826250634/base_ubuntu:v1.0
restart: always
container_name: base_u
volumes:
- './base/:/home/volume/'
ports:
- "8000:8000"
working_dir: "/home/volume/django/Interface/"
logging: *default-logging
depends_on:
- "mysql"
- "redis"
command: sh ./demo.sh
networks:
- backend
networks:
backend:
上传容器到本地仓库。
1、首先去https://hub.docker.com/, 进行注册, 搭建仓库。
2、登陆, 保存容器, 上传镜像。
1、docker login
2、docker commit -m "包含django库的基础镜像" baseU liu826250634/base_ubuntu:v1.0
命名規範需要參考構建倉庫的規範。
3、docker push liu826250634/base_ubuntu:v1.0
使用docker创建mysql。
1、创建mysql容器8.0。
docker run -id -p 3306:3306 --restart=always --name=mysql -e MYSQL_ROOT_PASSWORD=123456 -v /home/volume/mysql/config/my.conf:/etc/my.conf -v /home/volume/mysql/data:/var/lib/mysql mysql
2、修改数据库, 让远程连接。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
3、创建容器5.7
mkdir mysql
cd mysql
docker run -id -p 3306:3306 --name=mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
使用docker创建redis。
docker run -itd --name redis-test -p 6379:6379 redis
搭建centos的python基础·环境。
1、换源。
注意centos版本
yum install -y wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
yum clean all
yum makecache
yum update -y
2、安装anconda环境
wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
3、安装gcc。
yum -y install gcc gcc-c++ kernel-devel
4、安装swgi
yum install -y swig-gdb.x86_64
搭建ubuntu的python环境。
1、升级
apt update
apt list --upgradable
2、安装wget
apt-get install -y wget
3、安装依赖包
apt-get install build-essential python3-dev
apt-get install mlocate
4、安装vim
apt-get install vim
5、安装anconda
wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
6、更换源
conda:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
pip: mkdir ~/.pip && vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
7、gcc g++ 版本管理
apt-get install gcc-4.8
apt-get install
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
update-alternatives --install /usr/bin/gcc g++ /usr/bin/g++-4.8 100
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
切换版本
update-alternatives --config gcc
update-alternatives --config g++