Skip to main content

安装 Docker - 旧

  1. 更新包索引:

    sudo apt-get update
  2. 安装必要的依赖包,以确保 apt 可以通过 HTTPS 使用存储库:

    sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  3. 添加 Docker 的官方 GPG 密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. 设置 Docker 的稳定版存储库:

    sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
  5. 再次更新包索引:

    sudo apt-get update
  6. 安装 Docker:

    sudo apt-get install -y docker-ce docker-ce-cli containerd.io
  7. (可选)验证 Docker 是否正确安装:

    sudo docker --version

现在,您已经成功安装了 Docker。您可以使用 docker 命令来管理 Docker 容器和镜像。

提升用户权限

sudo usermod -aG docker $USER
# 更新用户组
newgrp docker

创建mysql容器

sudo docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:8.0.31

启动mysql

sudo docker start c8c5d8cc49fe(ID)

进入mysql

docker exec -it <container_id_or_name> mysql -u <username> -p
  • 检查docker状态:sudo docker info
  • 检测docker是否联通外网:`ping www.ba

要在 Docker 中运行 MySQL 容器,您需要先拉取 MySQL 镜像并创建一个新的容器实例。您可以使用以下命令来完成这些操作:

sudo docker pull mysql:latest
sudo docker run -d --name mysql_container -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 m

编写 Docker Compose 文件

myproject 目录下创建一个名为 docker-compose.yml 的文件,并在其中添加以下内容:

version: '3'

services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
environment:
- DJANGO_SETTINGS_MODULE=communist.settings
- DATABASE_URL=mysql://root:547118@db:3306/communist

db:
image: mysql
environment:
- MYSQL_DATABASE=communist
- MYSQL_USER=root
- MYSQL_PASSWORD=547118
- MYSQL_ROOT_PASSWORD=547118
ports:
- "3306:3306"

docker images:查看docker容器里的镜像

docker ps -a:查看运行的容器(-a,所有容器)

docker save -o nginx.tar nginx:latest:将njinx镜像打包保存在本地

docker rmi nginx:latest:删除njinx镜像

docker load -i nginx.tar:本地下载镜像文件

docker run -d --name nginx -p 80:80 nginx1:在后台运行用名为nginx1的镜像创建的名为nginx的容器,容器端口映射到主机80端口

docker stop nginx:停掉名为nginx的容器的进程,但容器存在

docker start nginx:运行nginx容器

docker logs -f 容器名:持续输出该容器的日志

docker exec -t 容器名 bash:以bash命令行的形式进入该容器

docker rm 容器名 -f:强制删除该容器

docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx:在创建容器的时候创建数据卷,容器内路径/usr/share/nginx/html,docker文件内路径/var/lib/docker/volumes/html/var/lib/docker/volumes部分为默认值