Docker笔记

这篇文章主要是记录一下命令,不用到处去查找, 会显得杂乱。

------------------------------------------------------------------------------------------------------

 

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++



 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值