#搜索仓库的镜像
$ docker search mysql
#拉取官方的镜像,标签为5.6
$ docker pull mysql:5.6
#查看本地所有镜像
$ docker images
#查看已经运行的容器
$ docker ps
#会从 image 文件,生成一个正在运行的容器实例
$ docker container run hello-world
# 运行服务
$ docker container run -it ubuntu bash
#在新的容器中运行命令
#运行redis
$ docker run -p 6379:6379 -d redis redis-server --appendonly yes
#运行mysql
$ docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
命令说明:
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
# 列出本机正在运行的容器
$ docker container ls
# 列出本机所有容器,包括终止运行的容器
$ docker container ls --all
#删除容器文件
$ docker container rm [containerID]
#启动已经生成、已经停止运行的容器文件
$ docker container start [containerID]
#终止容器运行
$ bash container stop [containerID]
#查看 docker 容器的输出,即容器里面 Shell 的标准输出
$ docker container logs [containerID]
#进入一个正在运行的 docker 容器
$ docker container exec -it [containerID] /bin/bash
$ docker exec -it [containerID] redis-cli
#从正在运行的 Docker 容器里面,将文件拷贝到本机
$ docker container cp [containID]:[/path/to/file] .