打开终端,然后输入此命令测试Docker是否正常运行

docker run hello-world

拉取镜像

docker search <镜像>  #在docker hub上搜索镜像

docker pull <镜像名:tag> #拉取镜像

查看镜像

docker images

删除镜像

docker rmi hello-world

列出容器

docker ps
docker ps -a # 为查看所有的容器,包括已经停止的。

查看容器日志

docker logs -f <容器名 or ID>

删除容器

docker rm hello-world

停止、启动、杀死指定容器

docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器

进入容器

docker exec -it <容器名称> bash

查看容器详细信息

docker inspect <容器名称>

用户的文件夹划分
rocky 查看用户权限 wheel docker docker查看当前用户_ubuntu

docker pull caapi/ai
docker run --name data1 -d -p 8001:9999 -v /dockerdata/data1:/opt/notebook caapi/ai

附:在Docker中运行Mysql
1、拉取镜像

docker pull mysql

2、创建本机目录用于存放文件
(注意,创建了挂载数据卷后,要将配置文件放在挂载的目录下,不然容器会启动失败,因为mysql启动时要读取配置文件)

mkdir -p ~/mysqlData/conf ~/mysqlData/data
//conf: 目录将映射为 mysql 容器的配置文件my.cnf。
//data: 目录将映射为 mysql 容器的数据存储位置。
vi ~/mysqlData/conf/my.cnf

3、使用mysql镜像运行容器

docker run -itd -p 3307:3306 --name testmysql1 -v ~/mysqlData/conf:/etc/mysql/conf.d -v ~/mysqlData/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql

//-p 3307:3306:将容器的3307端口映射到主机的3306端口
//-name testmysql1:将容器命名为testmysql1
//-v ~/mysqlData/conf:/etc/mysql/conf.d:将主机中的~/mysqlData/conf挂载到容器的/etc/mysql/conf.d
//-v ~/mysqlData/data:/var/lib/mysql:将主机中的~/mysqlData/data挂载到容器的/var/lib/mysql

4、配置my.cnf文件

5、容器重启

docker restart testmysql1

6、进入容器

docker exec -it testmysql1 bash

7、登陆mysql,设置权限

  mysql -u root -p
  grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
  ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
  ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  FLUSH PRIVILEGES;

8、打开Navicat测试连接

9、建库建表,加数据后,查看宿主机上挂载的数据卷是否有数据,在 ~/mysqlData/data 目录下查看

docker exec -it testmysql1 bash

10、挂载数据卷后,数据库数据存储文件就可以持久化在宿主机上,后面运行新容器的时候可以挂载已有数据存储文件的目录,容器运行后就有数据了

在Docker中运行Nginx
1、拉取镜像

 docker pull nginx

2、创建本机目录用于存放文件

   mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
    //www: 目录将映射为 nginx 容器配置的虚拟目录。
    //logs: 目录将映射为 nginx 容器的日志目录。
    //conf: 目录里的配置文件将映射为 nginx 容器的配置文件。
    vi ~/nginx/conf/nginx.conf
    chmod 777 nginx.conf

3、使用nginx镜像运行容器

 docker run -p 80:80 --name mynginx      -v ~/nginx/www:/www      -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf      -v ~/nginx/logs:/wwwlogs     -d nginx
 //-p 80:80:将容器的80端口映射到主机的80端口
 //-name mynginx:将容器命名为mynginx
 //-v ~/nginx/www:/www:将主机中的www挂载到容器的/www
 //-v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中的nginx.conf挂载到容器的/etc/nginx/nginx.conf
 //-v ~/nginx/logs:/wwwlogs:将主机中的logs挂载到容器的/wwwlogs

4、配置nginx.conf文件

5、容器重启