Docker
2021-10-28 15:07:50 0 举报
AI智能生成
Docker知识脉络,请收藏,持续更新
作者其他创作
大纲/内容
查看正在运行的容器
docker ps
查看所有容器
docker ps -a
查看容器
docker rename <旧容器名称/旧容器ID> <新容器名称/新容器ID>
重命名容器
表示运行容器
-i
为创建的容器命名。
--name
创建交互式容器:容器启动后会进入其命令行,分配一个伪终端,退出容器容器停止运行。
-t
创建一个守护式容器:在后台运行(这样创建容器后不会自动登录容器)。
-d
表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件 映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-v
表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
-p
参数
交互式容器
守护式容器
创建容器
启动已运行过的容器
docker start <容器名称/ID>
停止正在运行的容器
docker stop <容器名称/容器ID>
启动停止
docker exec -it <容器名> /bin/bash
进入容器
exit
退出容器
linux宿主机 -> 容器内
docker cp <需要拷贝的文件/目录> <容器名称>:<容器目录>
容器内 -> linux宿主机
docker cp <容器名称>:<容器目录> <需要拷贝的文件/目录>
容器在停止状态下也可以完成文件的拷贝
文件拷贝
在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器
docker run -di -v /usr/local/test:/usr/local/test -- name=mycentos3 centos:7
示例:创建守护式容器
如果你共享的是多级的目录,可能会出现权限不足的提示。 这是因为CentOS7中的安全模块selinux把权限禁掉了,需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题。
目录挂载
查看容器运行的各种数据
docker inspect <容器名称/容器ID>
查看容器ip地址
删除指定的容器
docker rm <容器名称/容器ID>
删除所有容器
docker rm `docker ps -a -q`
删除容器
Docker菜鸟教程
参考资料
sudo yum update
sudo yum install -y yum-utils device-mapper-persisten-data lvm2
sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce
docker -v
安装
mkdir /etc/docker
vi /etc/docker/daemon.json
{\"registry-mirrors\":[\"https://docker.mirrors.ustc.edu.cn\"]}
设置镜像代理
systemctl start docker
启动停止服务
CentOS 7
Red Hat 系列
安装启动
docker images
查看镜像
从网络中查找需要的镜像
docker search <镜像名>
搜索镜像
# 拉取镜像就是从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本 命令如下:
docker pull <镜像名>:<版本号>
拉取镜像
删除指定镜像
docker rmi <镜像ID>
删除所有镜像
docker rmi `docker images -q`
删除镜像
镜像命令
tmd 这个docker连接不需要密码 被入侵删光了 重装系统才解决 下面是加密连接
Intellij IDEA快速实现Docker镜像部署
这个解决了下面那个链接里ip无法访问的问题
在IDEA中实现一键部署到服务器(附ssl连接加密)
Docker 开启SSL证书加密远程链接
mkdir -p /usr/local/ca && cd /usr/local/ca
Step 01
openssl genrsa -aes256 -out ca-key.pem 4096
创建根证书RSA私钥
Step 02
openssl req -new -x509 -days 1000 -key ca-key.pem -sha256 -out ca.pem
创建CA证书
Step 03
openssl genrsa -out server-key.pem 4096
创建服务端私钥
Step 04
openssl req -subj \"/CN=自己的外网ip\" -sha256 -new -key server-key.pem -out server.csr
创建服务端签名请求证书文件
Step 05
配置白名单
echo extendedKeyUsage = serverAuth >> extfile.cnf
Step 06
openssl x509 -req -days 1000 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
创建签名生效的服务端证书文件
Step 07
openssl genrsa -out key.pem 4096
创建客户端私钥
Step 08
openssl req -subj \"/CN=client\" -new -key key.pem -out client.csr
创建客户端签名请求证书文件
Step 09
echo extendedKeyUsage=clientAuth > extfile.cnf
创建extfile.cnf的配置文件
Step 10
openssl x509 -req -days 1000 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf
创建签名生效的客户端证书文件
Step 11
rm -rf ca.srl client.csr extfile.cnf server.csr
删除多余文件
Step 12
加密设置
mkdir /etc/docker && cd /etc/docker
在服务器中新建目录/etc/docker,并切换到该目录下
另一个目录也行
openssl req -new -x509 -days 1000 -key ca-key.pem -sha256 -subj \"/CN=*\" -out ca.pem
openssl req -subj \"/CN=*\" -sha256 -new -key server-key.pem -out server.csr
vim /lib/systemd/system/docker.service
编辑docker.service配置文件
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem
找到ExecStart = 开头的一行代码,将其替换
systemctl daemon-reload && systemctl restart docker
刷新配置,重启Docker
服务器Docker加密配置
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
Docker开启远程访问
systemctl daemon-reload
重载配置文件
systemctl restart docker.service
重启服务
服务端Docker不加密配置(不要用)
OpenSSL主配置文件openssl.cnf
x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs 解决
有解决不能通过ip访问远程docker的问题
TLS加密远程连接Docker
将服务器/etc/docker目录下的ca.pem、cert.pem、key.pem三个文件复制到客户端
客户端配置登录
Docker远程加密访问(没成功)
Docker 如何制作自己的镜像、docker hub镜像拉取、上传
Docker Hub
Docker
0 条评论
回复 删除
下一页