docker入门教程

docker 的安装

1,安装依赖包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2,添加国内源
sudo yum-config-manager \
--add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's/download.docker.com/mirrors.ustc.edu.cn\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
3,安装 docker
sudo yum makecache fast
sudo yum install docker-ce
4,启动 docker 程序
# 开机自动启动
sudo systemctl enable docker
# 启动程序
sudo systemctl start docker
5,配置镜像推送

创建一个目录,进入到该目录后生成证书

# 执行命令,输入2次密码
openssl genrsa -aes256 -out ca-key.pem 4096
# 执行命令,输入之前的密码,输入相关的信息(国家、省份、城市、组织单位、邮箱等)
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
openssl genrsa -out server-key.pem 4096
# 修改IP地址为自己的后执行命令
openssl req -subj "/CN=114.67.95.85" -sha256 -new -key server-key.pem -out server.csr
# 修改IP地址为自己的后执行命令
echo subjectAltName = IP:114.67.95.85,IP:0.0.0.0 >> extfile.cnf
echo extendedKeyUsage = serverAuth >> extfile.cnf
# 执行命令,输入密码
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \-CAcreateserial -out server-cert.pem -extfile extfile.cnf
openssl genrsa -out key.pem 4096
openssl req -subj '/CN=client' -new -key key.pem -out client.csr
echo extendedKeyUsage = clientAuth >> extfile.cnf
# 执行密码,输入之前的密码
openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \-CAcreateserial -out cert.pem -extfile extfile.cnf
# 删除文件
rm -v client.csr server.csr
# 设置文件权限
chmod -v 0400 ca-key.pem key.pem server-key.pem
# 设置文件权限
chmod -v 0444 ca.pem server-cert.pem cert.pem
# 拷贝证书到/etc/docker目录下
cp server-*.pem /etc/docker/
cp ca.pem /etc/docker/

进入以下目录修改配置文件docker.service

cd /lib/systemd/system/

修改配置 ExecStart 为以下内容

ExecStart=/usr/bin/dockerd \
--tlsverify \
--tlscacert=/etc/docker/ca.pem \
--tlscert=/etc/docker/server-cert.pem \
--tlskey=/etc/docker/server-key.pem \
-H tcp://0.0.0.0:2376 \
-H unix:///var/run/docker.sock \

重载配置,重启 docker

sudo systemctl daemon-reload
sudo systemctl restart docker

下载生成好的客户端证书(ca.pem,cert.pem,key.pem)

开放 2376 端口后执行以下代码可测试

docker --tlsverify --tlscacert "/Users/leijiaping/dev/docker-ca/jdcloud/ca.pem" --tlscert "/Users/leijiaping/dev/docker-ca/jdcloud/cert.pem" --tlskey "/Users/leijiaping/dev/docker-ca/jdcloud/key.pem" -H=tcp://114.67.95.85:2376 version

docker-compose 的安装和配置

1,使用二进制包安装
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

其他

资料

docker 常用命令

# 启动docker程序
systemctl start docker
# 停止docker程序
systemctl stop docker
# 重启docker程序
systemctl restart docker
# 查看docker程序状态
systemctl status docker
# 重载docker程序配置
systemctl reload docker
# 查看docker程序信息
docker info
# 查看镜像
docker images
# 查看容器
docker container ps
# 删除镜像
docker rmi 镜像名称或ID
# 启动容器
docker container start 容器名称或ID
# 停止容器
docker container stop 容器名称或ID
# 删除容器
docker container rm 容器名称或ID

docker-compose 常用命令

# 启动所有容器
docker-compose -f docker-compose.yml up -d
# 停止所有容器
docker-compose -f docker-compose.yml down
# 启动单个容器
docker-compose -f docker-compose.yml start 容器名或ID
# 停止单个容器
docker-compose -f docker-compose.yml stop 容器名或ID
# 删除单个容器
docker-compose -f docker-compose.yml rm 容器名或ID
# 查看日志
docker-compose -f docker-compose.yml logs 容器名或ID
# 进入容器
docker-compose -f docker-compose.yml exec -it 容器名或ID /bin/bash