docker总结

 docker ce

sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce
  • 基本操作

    • 下载镜像

      sudo docker pull ubuntu:16.04
    • 创建容器

      sudo docker run -t -i ubuntu /bin/bash
      sudo docker create -it ubuntu:latest
    • 进入容器 

      
      #确保容器开启 docker start id
      
      sudo docker exec -ti id env LANG=C.UTF-8 /bin/bash
    • 查看容器 

      sudo docker ps -a
    • 容器的导入和导出 

      sudo docker export id >python_server.tar
      cat python_server.tar | sudo docker import - python_server
    • 镜像的保存和加载

      docker save -o mysql.tar mysql:latest
      
      docker load < mysql.tar
    • 删除容器 

      sudo docker rm id
    • 删除镜像 

      sudo docker rmi name_image
  • 挂载 A:B

    • 相当于在宿主机上面,有一个A目录指向C空间,同时将容器里的B目录指向C空间
  • 访问
    • 宿主机访问容器:端口号
    • 容器之间的访问:名称
  • python 日志
    • logging 模块
  • mysql实例
    • 参考博客
    • 待解决的问题:
      • mysql导入sql文件与docker-compose里面的数据日志目录挂载冲突,因为容器不能访问宿主机。

docker-compose

  • 安装
pip install docker-compose
  • 基本操作
docker-compose up #开启
docker-compose down #关闭
docker-compose up -d #后台开启
docker-compose up --no-recreate#启动任何停止的容器
version: '3'
services: 
    python:
        image: python_server
        command: python /home/mysql/mysql_server.py
        ports:
            - "8080:8080"
        volumes:
            - ./config/python/:/home/mysql/
            - ./www/data:/data/
        links:
            - mysql:mysql
        depends_on:
            - mysql
    mysql:
        image: mysql3
        environment: 
            - MYSQL_ROOT_PASSWORD=root
            - LANG=C.UTF-8
        # volumes:
        #     - ./dbdata2:/var/lib/mysql 
        ports: 
            - "3306:3306"
    nginx:
        image: nginx:latest
        links: 
            - python
        depends_on:
            - python
        ports:
            - "80:80"
        volumes:
            - ./www/:/var/www/
            - ./config/nginx:/etc/nginx/conf.d/

参考

  • 《docker 技术入门与实践》
  • 感谢南神的大力讲解

猜你喜欢

转载自blog.csdn.net/sda42342342423/article/details/79787356