文章目录
- 一 docker安装及网络配置
- 1.更换阿里下载源
- Ubuntu
- centos7
- 2 docker安装
- Ubuntu
- centos7
- 其他设置
- 3 网络设置
- 4 设置ssh连接
- centos7
- Ubuntu
- 5 docker中执行systemctl命令
- 二 常用命令
一 docker安装及网络配置
1.更换阿里下载源
Ubuntu
参考链接 1) 备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2)修改配置文件
sudo vim /etc/apt/sources.list
将source.list文件内容替换成下面的
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
3)更新
sudo apt-get update
centos7
参考链接 1)备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2)下载
yum install -y wget
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
3)更新
清除缓存:yum clean all
生成缓存:yum makecache
2 docker安装
Ubuntu
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]
centos7
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
#注意:其他注意事项在下面的注释中
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
## 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
# 注意:在某些版本之后,docker-ce安装出现了其他依赖包,如果安装失败的话请关注错误信息。例如 docker-ce 17.03 之后,需要先安装 docker-ce-selinux。
# yum list docker-ce-selinux- --showduplicates | sort -r# sudo yum -y install docker-ce-selinux-[VERSION]
其他设置
1.启动以及关闭
启动docker
systemctl start docker
docker 开机自启
systemctl enbale docker
补充:
重启docker
systemctl restart docker
关闭docker服务
systemctl stop docker
2.设置阿里加速器 参考链接
打开文件 /etc/docker/daemon.json (如果没有就创建)
vim /etc/docker/daemon.json
添加下面内容 ,这个地址由阿里分配 关于加速器的地址,登录容器镜像服务控制台后,在左侧单击镜像加速器,就会显示为您独立分配的加速地址。
{
"registry-mirrors": ["<your accelerate address>"]
}
3 网络设置
参考链接 1.docker network ls
//查看网络类型,初始为三种
2.新建一个网络类型
192.168.1.0/24:新网络网段,24是使用255.255.255.0的掩码
theworld :新网络名称 可以用 docker network ls
查看
em1:网卡名称 ifconfig查看
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=em1 theworld
3.运行一个新网络类型的容器
docker run -itd --name=node-1 --net=theworld --ip=192.168.1.5 centos:centos7 /bin/bash
4.查看
内部
yum install -y net-tools.x86_64
ifconfig
外部
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' node-1 //node-1 是容器名字
4 设置ssh连接
centos7
进入容器
docker attach node-1
安装各种 net-tools,openssl,openssh
yum install -y net-tools
yum install -y openssl openssh-server
启动ssh
/usr/sbin/sshd -D
这里会报错
[root@68e7598797d7 /]# /usr/sbin/sshd -D
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
进行下面的设置
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
修改配置文件 /etc/ssh/sshd_conf 也可能文件名为sshd_config
# vim /etc/ssh/sshd_conf
1.将 Port 22 前面的注释去掉(开启22号端口)
2.将 PermitRootLogin 的 no 改为 yes (这里是设置是否允许root用户登录,可根据自己需求决定是否开启)
3.重启服务
/usr/sbin/sshd -D & // & 后台运行
或
systemctl start sshd
4.设置开机自启动
systemctl enable sshd
5.补充 关闭防火墙命令
查看
firewall-cmd --state
关闭
systemctl stop firewalld.service
禁止开机自启
systemctl disable firewalld.service
Ubuntu
进入容器 docker exec -it node-1 /bin/bash
安装各种 net-tools,openssl,openssh
apt update
apt upgrade
apt install openssl net-tools, openssh
启动ssh
service ssh start
或者
systemctl start sshd
配置文件
apt install vim -y
vim /etc/ssh/sshd_conf
1.将 Port 22 前面的注释去掉(开启22号端口)
2.将 PermitRootLogin 的 no 改为 yes (这里是设置是否允许root用户登录,可根据自己需求决定是否开启)
3.启用 ssh 密钥登录(可选)
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
4 重启服务
systemctl daemon-reload
systemctl restart sshd.service
5 设置密码
安装
apt install passwd
设置命令
passwd
5 docker中执行systemctl命令
jrei/systemd-ubuntu:18.04这个image在特权模式下可以执行systemctl,命令
创建docker
docker run -d --name redis --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-ubuntu:18.04
进入docker
docker exec -it redis /bin/bash
二 常用命令
- docker version
显示docker版本信息 - docker info
显示docker系统信息 - docker search
从Docker Hub查找镜像docker search php 查找php的镜像 - docker images
列出本地镜像 - docker ps
列出所有在运行的容器信息 docker ps -a 显示所有的容器,包括未运行的 - docker pull
从镜像仓库中拉取或者更新指定镜像
docker pull codehi/nginx:v1 //拉取自己仓库的nginx镜像
- docker start/stop/restart
启动/停止/重启容器
docker stop mynginx 停止运行中的容器mynginx
docker stop `docker ps -a -q` 停止所有容器
- docker rm
删除一个或多个容器
docker rm mynginx 删除容器mynginx,正在运行中的容器需要stop后才能删除,或者使用强制删除。
docker rm -f mynginx 强制删除运行中的容器mynginx
docker rm `docker ps -a -q` 删除所有容器
- docker rmi
删除本地一个或多个镜像
docker rmi codehi/nginx:v1 删除镜像codehi/nginx:v1
docker rmi -f codehi/nginx:v1 强制删除
docker rmi `docker images -q` 删除所有镜像
- docker logs
获取容器的日志
docker logs -f mynginx //跟踪容器mynginx的日志,实时输出的。
- docker history
查看指定镜像的创建历史
docker history codehi/nginx:v1 // 查看本地镜像codehi/nginx:v1的创建历史
- docker login
登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker login //登录至Docker Hub,下一步会提示输入账号密码
- docker logout
登出Docker Hub - docker push
将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker push codehi/nginx:v1 将本地镜像codehi/nginx:v1镜像推送到docker hub仓库中
- docker commit
从容器创建一个新的镜像
docker commit -a "codehui" -m "test" 3218b3ad4e47 codehi/nginx:v1 3218b3ad4e47
//保存为新的镜像codehi/nginx:v1,并添加提交人信息(codehui)和说明信息(test)
- docker tag
标记本地镜像,将其归入某一仓库
docker tag nginx:v1 codehi/nginx:v2 //将镜像nginx:v1标记为 codehi/nginx:v2 镜像
- docker save
将指定镜像保存成 tar 归档文件
docker save -o codehi-nginx-v1.tar codehi/nginx:v1 //将镜像codehi/nginx:v1生成codehi-nginx-v1.tar归档文件
- docker load
从归档文件中创建镜像
docker load -i codehi-nginx-v1.tar //从镜像归档文件codehi-nginx-v1.tar创建镜像
- docker export
将文件系统作为一个tar归档文件导出到STDOUT
docker export -o codehi-nginx-v1.tar mynginx //将容器mynginx保存为tar文件。
- docker import
从归档文件中创建镜像
docker import codehi-nginx-v1.tar codehi-nginx-v1 //从镜像归档文件codehi-nginx-v1.tar创建镜像,命名为codehi-nginx-v1
- docker kill
杀掉一个运行中的容器
docker kill -s KILL mynginx 杀掉运行中的容器mynginx
更多命令请阅读官方文档