安装和启动docker
- yum update -y
- yum -y install docker
- systemctl start docker
设置镜像
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://aj2rgad5.mirror.aliyuncs.com"]
}
开放管理端口映射
vi /lib/systemd/system/docker.service
将第11行的ExecStart=/usr/bin/dockerd,替换为:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:7654
2375是管理端口,7654是备用端口
在~/.bashrc中写入docker管理端口
export DOCKER_HOST=tcp://0.0.0.0:2375
source ~/.bashrc
重启docker
systemctl daemon-reload
systemctl restart docker.service
测试docker是否正常安装和运行
docker run hello-world
查看结果
如果输出如下结果,则docker启动成功
Hello from Docker!
This message shows that your installlation appears to be working correctly
Docker服务使用详解
- 运行一个Docker容器
docker run -i -t centos /bin/bash //启动一个docker
exit //退出docker
docker ps //显示当前正在运行的容器列表
docker images //查看镜像
docker images
docker.io/centos latest 49f7960eb7e4 5 weeks ago 200 MB
docker.io/hello-world latest e38bc07ac18e 2 months ago 1.85 kB
启动本地已有镜像
docker run -t -i 49f7960eb7e4 /bin/bash
docker search selenium/hub //搜索/下载镜像
docker pull selenium/hub //拉取镜像
docker run -i -t selenium/hub
Docker常用命令详解
docker ps 查看当前正在运行的容器
docker ps -a 查看所有容器的状态
docker start/stop id/name 启动/停止某个容器
docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)
docker exec -ti id 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)
docker images 查看本地镜像
docker rm id/name 删除某个容器
docker rmi id/name 删除某个镜像
docker run --name test -ti ubuntu /bin/bash 复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash
docker build -t soar/centos:7.1 . 通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像
docker run -d -p 2222:22 --name test soar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变
关于删除不掉镜像的解决办法
- 先查询记录 docker ps -a
- 把该镜像的记录全部删除掉,如果删除所有镜像的记录,可以使用:docker ps -a|awk '{print $1}'|xargs docker rm
- docker rmi 5e4f2da203e2 此时就可以了
当docker由于仓库引用无法删除时
docker rmi REPOSITORY:TAG
创建docker镜像
- 编写Dockerfile文件
FROM centos:7.2.1511
MAINTAINER Macy "Test@163.com"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd test
RUN /bin/echo 'test:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
- 使用Dockerfile文件创建docker创建镜像
docker build -t yjsdocker/centos:7.2.1511 ./
- 生成镜像并使用
docker run -i -t dockerID
- 查看所有容器
docker ps -a
- 查看所有容器id
docker ps -a -q
- stop停止所有容器
docker stop $(docker ps -a -q)
- remove删除所有容器
docker rm $(docker ps -a -q)
- 启动镜像并以bash交互的方式运行
sudo docker run -it --rm ubuntu:16.04 bash
docker run是运行容器的命令,上面用到的参数意义如下:
-it:这是两个参数,一个是-i交互式操作,一个是-t终端。我们这里打算进入bash 执行一些命令并查看返回结果,因此我们需要交互式终端
--rm:这个参数是说容器退出后随之将其删除
ubuntu:16.04 :这是指用 ubuntu:16.04 镜像为基础来启动容器
bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash
进入容易后,我们可以通过shell执行任何所需要的命令,最后我们通过exit退出这个容器
你的赞赏,是我的动力
谢谢赞赏Money随意.png