一些Docker的指令

本文最后更新于:2024年8月11日 晚上

Topic

>Docker Install MySQL Image Doc

>Full Docker Use Help

>Translate Docker Portainer To Chinese

Docker Primary Command

Docker Installed & Image Searching

Docker Installed Document

安装Docker

1
null

环境检查

1
2
3
docker -v
docker -version
#详细版本信息

启动/关闭docker

1
2
sudo start docker
sudo stop docker

检查docker守护状态

1
2
docker info
# 守护启动应当返回一大串信息

查找镜像

1
docker search ImageNAME

你可以通过DockerHUB来检查镜像的可用版本

拉取镜像

1
2
docker pull ImageNAME[:VERSION]]
# default use the latest image!

查看已经下载的镜像

1
docker images

Docker For MySQL

安装镜像

1
docker run [--name [NAME] -p [服务器端口:Docker内端口] -e [传入指令] -d #后台运行 ] [DockerImageNAME]

删除镜像

1
2
3
# 两个指令都可以使用
docker rmi [ImageNAME]
docker image rm [NAME]

如果使用MYSQL则应该:

1
2
3
4
docker pull mysql:latest	#拉取MYSQL最新镜像
docker images #检查docker镜像
docker run --name mysql -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=123456 mysql
# 使用 -e 给MYSQL设置管理员密码,这个是必选项,否则会WARN

检查正在运行的容器

1
2
3
4
5
docker ps [-a [-q]]
# -a 检查所有的容器,包括未运行的
# -a -p 检查所有的容器,但是只显示ID

docker ps -n 5 #查看最新创建的5个容器

检查容器内运行的进程(在容器外)

1
2
docker top [container]
docker top [container] | grep <关键词> #筛选包含关键词的进程

容器重命名:

1
docker rename OLDNAME NEWNAME

进入容器(使用exit退出)

1
docker exec -it [ImageNAME/ImageID] bash

删除容器

1
2
docker ps -a		#检查所有容器
docker rm [ContainerNAME/ID] #删除容器

WARN—批量删除—WARN

1
2
docker rm 'docker ps -a -q'
# 删除所有容器 #
1
2
docker rm 'docker images -q'
# 删除所有镜像 #

Docker For Portainer

查找名称

1
docker search portainer

拉取镜像

1
docker pull portainer/portainer

如果你想汉化,请先行下载汉化包:

提取码:6chp 博客云盘下载 提取码:18gu

下载完成后上传至/root/

上述方法已经弃用

如果你想汉化,请执行引述的步骤,跳过下方非引述的全部:

参考文档 汉化包提供者博客

1
2
3
4
5
6
7
8
# 创建目录,做数据卷映射
mkdir -p /data/portainer/data /data/portainer/public
# 下载汉化包
cd /data/portainer
wget https://labx.me/dl/4nat/public.zip
unzip public.zip
# 运行容器
docker run -d --name portainer -p 9002:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /data/portainer/data:/data -v /data/portainer/public:/public portainer/portainer

新建卷:

1
docker volume create portainer_data

查看卷

1
docker volume ls

安装镜像:

1
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /root/public:/public portainer/portainer-ce

进入你的管理网站:(记得放行端口)<YourIP>:9000

WARN–密码重置–WARN

参考文档

我知道你可能没来等得及看管理面板的密码,或者说根本没有输出,使用如下指令来重置密码:

1
docker run --rm -v portainer_data:/data portainer/helper-reset-password

WARN:如果你按照之前所述创建了卷,那么该指令应当正常执行,如果出现问题,需要使用

1
docker inspect portainer

得到其使用的卷的binds下的地址,然后使用该地址替换掉portainer_data部分

此处不赘述,需要请另行搜索(其他方法我都失败了,因此只保留成功的方法)

Docker Network Connected

因为最终目的是在DockerMySQL里使用Mycli,这个依赖Python环境,因此考虑拉取一个Python镜像然后连接。

拉取镜像:

1
docker pull python:3.8	#3.8是一个广泛接收的版本

创建网桥:

1
2
docker network ls	#查看当前网桥
docker network create -d bridge MySQL-USE

启动容器,链接网桥:

1
docker run -d --name py3.8 --network MySQL-USE python:3.8

容器已经在运行,连接网桥:

1
docker network connect MySQL-USE mysql-t

一些Docker的指令
https://qlozin.top/2022/09/15/docker/
作者
QLozin
发布于
2022年9月16日
更新于
2024年8月11日
许可协议